Message ID | 20250326022019.1593669-1-dengjie03@kylinos.cn |
---|---|
State | New |
Headers | show |
Series | usb-storage: apply IGNORE_UAS for Realtek on RTL9210 | expand |
> The UAS mode of Realtek USB_HDD is reported > to fail to work on several platforms with > the following error message, Possibly related? https://github.com/raspberrypi/linux/commit/9d3afd87557637a37135aa6e370dea846b839c2d An RTL9210 hardware bug with a simple driver workaround, solved by RPi but never submitted upstream. I guess you could try it. > [ 148.437916][ 22] xhci_hcd 0000:ba:02.0: xHCI host not responding to stop endpoint command. > [ 148.462295][ 22] xhci_hcd 0000:ba:02.0: xHCI host controller not responding, assume dead That's your host controller crashing, maybe a device bug confused it. It may be the reason why storage drivers never recover from the error. Out of curiosity, which HC is doing this? > then after > re-connecting the device will be offlined > and not working at all. Nothing can possibly work after the above, until xhci_hcd is reloaded. Regards, Michal
diff --git a/drivers/usb/storage/uas-detect.h b/drivers/usb/storage/uas-detect.h index 4d3b49e5b87a..23579a2a1181 100644 --- a/drivers/usb/storage/uas-detect.h +++ b/drivers/usb/storage/uas-detect.h @@ -125,8 +125,11 @@ static int uas_use_uas_driver(struct usb_interface *intf, */ if (le16_to_cpu(udev->descriptor.idVendor) == 0x0bda && le16_to_cpu(udev->descriptor.idProduct) == 0x9210 && - (udev->manufacturer && !strcmp(udev->manufacturer, "HIKSEMI")) && - (udev->product && !strcmp(udev->product, "MD202"))) + (((udev->manufacturer && !strcmp(udev->manufacturer, "HIKSEMI")) && + (udev->product && !strcmp(udev->product, "MD202"))) || + ((udev->manufacturer && !strcmp(udev->manufacturer, "Realtek")) && + (udev->product && !strcmp(udev->product, "RTL9210"))) + )) flags |= US_FL_IGNORE_UAS; usb_stor_adjust_quirks(udev, &flags);
The UAS mode of Realtek USB_HDD is reported to fail to work on several platforms with the following error message, then after re-connecting the device will be offlined and not working at all. [ 143.361210] sd 9:0:0:0: [sdg] tag#6 uas_eh_abort_handler 0 uas-tag 2 inflight: CMD IN [ 143.372377] sd 9:0:0:0: [sdg] tag#6 CDB: Read(10) 28 00 00 00 00 10 00 00 10 00 [ 143.382908] sd 9:0:0:0: [sdg] tag#5 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD IN [ 143.394080] sd 9:0:0:0: [sdg] tag#5 CDB: Read(10) 28 00 00 00 00 00 00 00 10 00 [ 143.404610] sd 9:0:0:0: [sdg] tag#4 uas_eh_abort_handler 0 uas-tag 4 inflight: CMD IN [ 143.415782] sd 9:0:0:0: [sdg] tag#4 CDB: Read(10) 28 00 00 00 00 30 00 00 10 00 [ 148.437916][ 22] xhci_hcd 0000:ba:02.0: xHCI host not responding to stop endpoint command. [ 148.462295][ 22] xhci_hcd 0000:ba:02.0: xHCI host controller not responding, assume dead The Realtek Manufacturer's device cannot initialize properly using the UAS driver, so we need to switch it to usb-storage Signed-off-by: Jie Deng <dengjie03@kylinos.cn> --- drivers/usb/storage/uas-detect.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)