[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250326022019.1593669-1-dengjie03@kylinos.cn>
Date: Wed, 26 Mar 2025 10:20:19 +0800
From: Jie Deng <dengjie03@...inos.cn>
To: stern@...land.harvard.edu,
gregkh@...uxfoundation.org
Cc: linux-usb@...r.kernel.org,
usb-storage@...ts.one-eyed-alien.net,
linux-kernel@...r.kernel.org,
xiehongyu1@...inos.cn,
Jie Deng <dengjie03@...inos.cn>
Subject: [PATCH] usb-storage: apply IGNORE_UAS for Realtek on RTL9210
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@...inos.cn>
---
drivers/usb/storage/uas-detect.h | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
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);
--
2.25.1
Powered by blists - more mailing lists