--- linux-2.6.0/drivers/usb/core/devio.c 2003-12-18 21:32:47.000000000 +0100 +++ linux-2.6.0/drivers/usb/core/devio-new.c 2003-12-18 21:33:51.000000000 +0100 @@ -834,6 +834,9 @@ break; case USBDEVFS_URB_TYPE_ISO: + if (!(ep_desc = usb_epnum_to_ep_desc(ps->dev, uurb.endpoint))) + return -ENOENT; + interval = ep_desc->bInterval; /* arbitrary limit */ if (uurb.number_of_packets < 1 || uurb.number_of_packets > 128) return -EINVAL;