It appears to have switched the device to T150RS okay:
...
[54402.300870] usb 2-5.4.1: new full-speed USB device number 61 using xhci_hcd
[54402.392704] usb 2-5.4.1: New USB device found, idVendor=044f, idProduct=b65d, bcdDevice= 1.00
[54402.392712] usb 2-5.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[54402.392716] usb 2-5.4.1: Product: Thrustmaster FFB Wheel
[54402.392720] usb 2-5.4.1: Manufacturer: Thrustmaster
[54402.401809] input: Thrustmaster Thrustmaster FFB Wheel as /devices/pci0000:00/0000:00:14.0/usb2/2-5/2-5.4/2-5.4.1/2-5.4.1:1.0/0003:044F:B65D.002C/input/input58
[54402.402513] hid-tminit 0003:044F:B65D.002C: input,hidraw3: USB HID v1.00 Gamepad [Thrustmaster Thrustmaster FFB Wheel] on usb-0000:00:14.0-5.4.1/input0
[54402.422801] hid-tminit 0003:044F:B65D.002C: Wheel with model id 0x306 is a Thrustmaster T150RS
[54402.425834] hid-tminit 0003:044F:B65D.002C: URB to change wheel mode failed with error -32
[54402.607977] usb 2-5.4.1: USB disconnect, device number 61
[54402.860809] usb 2-5.4.1: new full-speed USB device number 62 using xhci_hcd
[54402.952664] usb 2-5.4.1: New USB device found, idVendor=044f, idProduct=b677, bcdDevice= 1.00
[54402.952669] usb 2-5.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[54402.952672] usb 2-5.4.1: Product: Thrustmaster T150RS
[54402.952674] usb 2-5.4.1: Manufacturer: Thrustmaster
[54402.959572] input: Thrustmaster Thrustmaster T150RS as /devices/pci0000:00/0000:00:14.0/usb2/2-5/2-5.4/2-5.4.1/2-5.4.1:1.0/0003:044F:B677.002D/input/input59
[54402.959870] hid-generic 0003:044F:B677.002D: input,hidraw3: USB HID v1.11 Joystick [Thrustmaster Thrustmaster T150RS] on usb-0000:00:14.0-5.4.1/input0
[54403.024771] t150: T150 Wheel (044F:B677) plugged
[54403.024868] input: Thrustmaster T150 steering wheel as /devices/pci0000:00/0000:00:14.0/usb2/2-5/2-5.4/2-5.4.1/input/input60
[54403.025199] BUG: scheduling while atomic: sh/169570/0x00000002
...
but note the:
[54402.425834] hid-tminit 0003:044F:B65D.002C: URB to change wheel mode failed with error -32
-32 = -EPIPE, which according to Documentation/driver-api/usb/error-codes.rst means "Endpoint stalled". Should tminit_change_handler handle that as an expected error like it does with -EPROTO?
It appears to have switched the device to T150RS okay:
but note the:
-32 = -EPIPE, which according to Documentation/driver-api/usb/error-codes.rst means "Endpoint stalled". Should tminit_change_handler handle that as an expected error like it does with -EPROTO?