Index: linux-2.6.17.14-fic1/drivers/usb/gadget/s3c2410_udc.c =================================================================== --- linux-2.6.17.14-fic1.orig/drivers/usb/gadget/s3c2410_udc.c 2006-11-03 01:22:14.000000000 +0100 +++ linux-2.6.17.14-fic1/drivers/usb/gadget/s3c2410_udc.c 2006-11-03 12:41:52.000000000 +0100 @@ -1492,7 +1492,7 @@ return -ENODEV; if (udc->driver) return -EBUSY; - if (!driver->bind || !driver->unbind || !driver->setup + if (!driver->bind || !driver->setup || driver->speed == USB_SPEED_UNKNOWN) return -EINVAL; @@ -1700,6 +1700,8 @@ } dprintk(DEBUG_VERBOSE, "%s: got irq %i\n", gadget_name, IRQ_USBD); + s3c2410_modify_misccr(S3C2410_MISCCR_USBHOST|S3C2410_MISCCR_USBSUSPND0|S3C2410_MISCCR_USBSUSPND1, 0); + #ifdef ENABLE_SYSFS /* create device files */ device_create_file(&pdev->dev, &dev_attr_regs);