Vasily Galkin <galkin-vv@xxxxxxxxx> writes: > I reverted 823bd3433424aa959499e6fd8f2da842430a8d42 and recompiled cdc_ether module for debian's 4.4rc6. > Device begin working normally as usual, no any Oopses or problems. > > Attaching lsusb output for this kernel. [..] > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 1 > bInterfaceClass 224 Wireless > bInterfaceSubClass 1 Radio Frequency > bInterfaceProtocol 3 RNDIS > iInterface 0 > ** UNRECOGNIZED: 05 24 01 00 01 > ** UNRECOGNIZED: 04 24 02 00 > ** UNRECOGNIZED: 05 24 02 00 01 Fascinating! A nice example of why we should never trust descriptors, even for real, presumably non-malicious, devices. The last descriptor there is invalid, and should probably have been "05 24 06 00 01". I.e. a CDC Union pointing to intf #0 as master and #1 as slave. Anyway, we won't consider that a union descriptor. And oops we go when we unconditionally dereference info->u. But like you, I cannot find the commit supposed to fix this. There is no such commit in net, net-next, usb or usb-next AFAICS. And I can't find any other relevant commit after the one introducing this bug either. Did you forget to submit it maybe, Oliver? BTW, it would be great if any reference to commit id's included the title, like 'commit 823bd3433424 ("cdc-ether: switch to common CDC parser")'. That makes it easier to spot any cutnpaste error or such. Bjørn -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html