On Mon, Dec 11, 2023 at 11:40:38AM +0100, Christian Eggers wrote: > Last week I upgraded within the 5.15-stable branch. Since upstream commit > 85d07c556216 ("USB: core: Unite old scheme and new scheme descriptor reads"), > there are problems detecting a directly attached USB hub. I identified this > commit by bisecting and get the same result during upgrading within the 6.1-stable > branch. > > Hardware: ARMv7 NXP i.MX6ULL with directly attached USB hub (Microchip USB4916). > Log messages: > > [ 6.150881] usb 1-1: new high-speed USB device number 2 using ci_hdrc > [ 6.215484] usb 1-1: device descriptor read/8, error -71 > [ 6.377532] usb 1-1: device descriptor read/8, error -71 Is the old_scheme_first module parameter for the usbcore module set? That and the USB_PORT_QUIRK_OLD_SCHEME are the only things I can see which would cause those errors -- and apparently this quirk never gets set in current kernels. In particular, I'm not aware of anything in the commit which would cause this sort of change in behavior. > [ 6.581934] usb 1-1: new high-speed USB device number 3 using ci_hdrc > [ 6.642853] usb 1-1: device descriptor read/8, error -71 > [ 6.803355] usb 1-1: device descriptor read/8, error -71 > [ 6.920418] usb usb1-port1: attempt power cycle > [ 7.051419] usb 1-1: new high-speed USB device number 4 using ci_hdrc > [ 7.192320] usb 1-1: New USB device found, idVendor=0424, idProduct=4916, bcdDevice= 8.02 > [ 7.192348] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 > [ 7.192363] usb 1-1: Product: Orbiter USB hub > [ 7.192376] usb 1-1: Manufacturer: ARRI > [ 7.193263] hub 1-1:1.0: USB hub found > [ 7.193951] hub 1-1:1.0: 7 ports detected > > The "device descriptor read" and "attempt power cycle" error messages definitely > haven't been there before the commit mentioned above. Are you certain of this? That is, have you tried booting your current system with an earlier kernel? And have you tried comparing logs and usbmon traces for kernels with and without the commit? The very best test would be to run a kernel _at_ that commit (i.e., with no later commits installed) and then revert the commit and see how the resulting kernel behaves. In other words, compare two kernels whose only difference is that one commit. > Disregarding the additional > log messages, the USB hub (and its devices) seem to work. > > I didn't try reverting this single commit as it seems that later changes depends > on it. Yeah; if there really are problems they will be fixed by updating that commit, not by dropping it. Alan Stern