Author: hselasky Date: Tue Dec 15 15:36:41 2020 New Revision: 368664 URL: https://svnweb.freebsd.org/changeset/base/368664
Log: Improve handling of alternate settings in the USB stack. Move initialization of num_altsetting under USB_CFG_INIT, else there will be a page fault when enumerating USB devices. PR: 251856 MFC after: 1 week Submitted by: Ma, Horse <shichun...@dell.com> Sponsored by: Mellanox Technologies // NVIDIA Networking Modified: head/sys/dev/usb/usb_device.c Modified: head/sys/dev/usb/usb_device.c ============================================================================== --- head/sys/dev/usb/usb_device.c Tue Dec 15 15:33:28 2020 (r368663) +++ head/sys/dev/usb/usb_device.c Tue Dec 15 15:36:41 2020 (r368664) @@ -897,6 +897,9 @@ usb_config_parse(struct usb_device *udev, uint8_t ifac /* initialise interface */ do_init = 1; } + /* update number of alternate settings, if any */ + if (iface_index == USB_IFACE_INDEX_ANY) + iface->num_altsetting = ips.iface_index_alt + 1; } else do_init = 0; @@ -905,9 +908,6 @@ usb_config_parse(struct usb_device *udev, uint8_t ifac /* update current number of endpoints */ ep_curr = ep_max; } - /* update number of alternate settings, if any */ - if (iface_index == USB_IFACE_INDEX_ANY) - iface->num_altsetting = ips.iface_index_alt + 1; /* check for init */ if (do_init) { _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"