Author: hselasky
Date: Tue Mar  8 08:02:39 2011
New Revision: 219395
URL: http://svn.freebsd.org/changeset/base/219395

Log:
  - Bugfix: Root HUBs do not support re-enumeration.
  
  MFC after:    14 days
  Approved by:  thompsa (mentor)

Modified:
  head/sys/dev/usb/usb_generic.c

Modified: head/sys/dev/usb/usb_generic.c
==============================================================================
--- head/sys/dev/usb/usb_generic.c      Tue Mar  8 07:42:09 2011        
(r219394)
+++ head/sys/dev/usb/usb_generic.c      Tue Mar  8 08:02:39 2011        
(r219395)
@@ -952,8 +952,14 @@ ugen_re_enumerate(struct usb_fifo *f)
        }
        if (udev->flags.usb_mode != USB_MODE_HOST) {
                /* not possible in device side mode */
+               DPRINTFN(6, "device mode\n");
                return (ENOTTY);
        }
+       if (udev->parent_hub == NULL) {
+               /* the root HUB cannot be re-enumerated */
+               DPRINTFN(6, "cannot reset root HUB\n");
+               return (EINVAL);
+       }
        /* make sure all FIFO's are gone */
        /* else there can be a deadlock */
        if (ugen_fs_uninit(f)) {
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to