Index: src/sys/conf/options =================================================================== RCS file: /source/cvs/freebsd/src/sys/conf/options,v retrieving revision 1.510.2.2 diff -u -r1.510.2.2 options --- sys/conf/options 5 Aug 2005 20:02:46 -0000 1.510.2.2 +++ sys/conf/options 20 Sep 2005 08:16:32 -0000 @@ -575,6 +575,7 @@ # options for USB support USB_DEBUG opt_usb.h +USB_IPOD_HACK opt_usb.h USBVERBOSE opt_usb.h UKBD_DFLT_KEYMAP opt_ukbd.h UPLCOM_INTR_INTERVAL opt_uplcom.h Index: src/sys/dev/usb/usb_subr.c =================================================================== RCS file: /source/cvs/freebsd/src/sys/dev/usb/usb_subr.c,v retrieving revision 1.76 diff -u -r1.76 usb_subr.c --- sys/dev/usb/usb_subr.c 1 Mar 2005 08:01:22 -0000 1.76 +++ sys/dev/usb/usb_subr.c 20 Sep 2005 08:18:16 -0000 @@ -778,6 +778,7 @@ free(p, M_USB); return (err); } +#ifndef USB_IPOD_HACK /* Clear any stall and make sure DATA0 toggle will be used next. */ if (UE_GET_ADDR(ep->edesc->bEndpointAddress) != USB_CONTROL_ENDPOINT) { err = usbd_clear_endpoint_stall(p); @@ -792,6 +793,7 @@ return (err); } } +#endif *pipe = p; return (USBD_NORMAL_COMPLETION); }