diff mbox series

[v2] usb-storage: apply IGNORE_UAS only for HIKSEMI MD202 on RTL9210

Message ID 20230117085154.123301-1-qkrwngud825@gmail.com (mailing list archive)
State Accepted
Commit dbd24ec17b85b45f4e823d1aa5607721920f2b05
Headers show
Series [v2] usb-storage: apply IGNORE_UAS only for HIKSEMI MD202 on RTL9210 | expand

Commit Message

Juhyung Park Jan. 17, 2023, 8:51 a.m. UTC
The commit e00b488e813f ("usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS")
blacklists UAS for all of RTL9210 enclosures.

The RTL9210 controller was advertised with UAS since its release back in
2019 and was shipped with a lot of enclosure products with different
firmware combinations.

Blacklist UAS only for HIKSEMI MD202.

This should hopefully be replaced with more robust method than just
comparing strings.  But with limited information [1] provided thus far
(dmesg when the device is plugged in, which includes manufacturer and
product, but no lsusb -v to compare against), this is the best we can do
for now.

[1] https://lore.kernel.org/all/20230109115550.71688-1-qkrwngud825@gmail.com

Fixes: e00b488e813f ("usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS")
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Hongling Zeng <zenghongling@kylinos.cn>
Cc: stable@vger.kernel.org
Signed-off-by: Juhyung Park <qkrwngud825@gmail.com>
---
 drivers/usb/storage/uas-detect.h  | 13 +++++++++++++
 drivers/usb/storage/unusual_uas.h |  7 -------
 2 files changed, 13 insertions(+), 7 deletions(-)

Comments

Oliver Neukum Jan. 17, 2023, 9:01 a.m. UTC | #1
On 17.01.23 09:51, Juhyung Park wrote:
> The commit e00b488e813f ("usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS")
> blacklists UAS for all of RTL9210 enclosures.
> 
> The RTL9210 controller was advertised with UAS since its release back in
> 2019 and was shipped with a lot of enclosure products with different
> firmware combinations.
> 
> Blacklist UAS only for HIKSEMI MD202.
> 
> This should hopefully be replaced with more robust method than just
> comparing strings.  But with limited information [1] provided thus far
> (dmesg when the device is plugged in, which includes manufacturer and
> product, but no lsusb -v to compare against), this is the best we can do
> for now.
> 
> [1] https://lore.kernel.org/all/20230109115550.71688-1-qkrwngud825@gmail.com
> 
> Fixes: e00b488e813f ("usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS")
> Cc: Alan Stern <stern@rowland.harvard.edu>
> Cc: Hongling Zeng <zenghongling@kylinos.cn>
> Cc: stable@vger.kernel.org
> Signed-off-by: Juhyung Park <qkrwngud825@gmail.com>
Acked-by: Oliver Neukum <oneukum@suse.com>
Greg KH Jan. 17, 2023, 3:36 p.m. UTC | #2
On Tue, Jan 17, 2023 at 05:51:54PM +0900, Juhyung Park wrote:
> The commit e00b488e813f ("usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS")
> blacklists UAS for all of RTL9210 enclosures.
> 
> The RTL9210 controller was advertised with UAS since its release back in
> 2019 and was shipped with a lot of enclosure products with different
> firmware combinations.
> 
> Blacklist UAS only for HIKSEMI MD202.
> 
> This should hopefully be replaced with more robust method than just
> comparing strings.  But with limited information [1] provided thus far
> (dmesg when the device is plugged in, which includes manufacturer and
> product, but no lsusb -v to compare against), this is the best we can do
> for now.
> 
> [1] https://lore.kernel.org/all/20230109115550.71688-1-qkrwngud825@gmail.com
> 
> Fixes: e00b488e813f ("usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS")
> Cc: Alan Stern <stern@rowland.harvard.edu>
> Cc: Hongling Zeng <zenghongling@kylinos.cn>
> Cc: stable@vger.kernel.org
> Signed-off-by: Juhyung Park <qkrwngud825@gmail.com>
> ---
>  drivers/usb/storage/uas-detect.h  | 13 +++++++++++++
>  drivers/usb/storage/unusual_uas.h |  7 -------
>  2 files changed, 13 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/usb/storage/uas-detect.h b/drivers/usb/storage/uas-detect.h
> index 3f720faa6f97..d73282c0ec50 100644
> --- a/drivers/usb/storage/uas-detect.h
> +++ b/drivers/usb/storage/uas-detect.h
> @@ -116,6 +116,19 @@ static int uas_use_uas_driver(struct usb_interface *intf,
>  	if (le16_to_cpu(udev->descriptor.idVendor) == 0x0bc2)
>  		flags |= US_FL_NO_ATA_1X;
>  
> +	/*
> +	 * RTL9210-based enclosure from HIKSEMI, MD202 reportedly have issues
> +	 * with UAS.  This isn't distinguishable with just idVendor and
> +	 * idProduct, use manufacturer and product too.
> +	 *
> +	 * Reported-by: Hongling Zeng <zenghongling@kylinos.cn>
> +	 */
> +	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")))
> +		flags |= US_FL_IGNORE_UAS;
> +
>  	usb_stor_adjust_quirks(udev, &flags);
>  
>  	if (flags & US_FL_IGNORE_UAS) {
> diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
> index 251778d14e2d..c7b763d6d102 100644
> --- a/drivers/usb/storage/unusual_uas.h
> +++ b/drivers/usb/storage/unusual_uas.h
> @@ -83,13 +83,6 @@ UNUSUAL_DEV(0x0bc2, 0x331a, 0x0000, 0x9999,
>  		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
>  		US_FL_NO_REPORT_LUNS),
>  
> -/* Reported-by: Hongling Zeng <zenghongling@kylinos.cn> */
> -UNUSUAL_DEV(0x0bda, 0x9210, 0x0000, 0x9999,
> -		"Hiksemi",
> -		"External HDD",
> -		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
> -		US_FL_IGNORE_UAS),
> -
>  /* Reported-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> */
>  UNUSUAL_DEV(0x13fd, 0x3940, 0x0000, 0x9999,
>  		"Initio Corporation",
> -- 
> 2.39.0
> 

Hi,

This is the friendly patch-bot of Greg Kroah-Hartman.  You have sent him
a patch that has triggered this response.  He used to manually respond
to these common problems, but in order to save his sanity (he kept
writing the same thing over and over, yet to different people), I was
created.  Hopefully you will not take offence and will fix the problem
in your patch and resubmit it so that it can be accepted into the Linux
kernel tree.

You are receiving this message because of the following common error(s)
as indicated below:

- This looks like a new version of a previously submitted patch, but you
  did not list below the --- line any changes from the previous version.
  Please read the section entitled "The canonical patch format" in the
  kernel file, Documentation/process/submitting-patches.rst for what
  needs to be done here to properly describe this.

If you wish to discuss this problem further, or you have questions about
how to resolve this issue, please feel free to respond to this email and
Greg will reply once he has dug out from the pending patches received
from other developers.

thanks,

greg k-h's patch email bot
diff mbox series

Patch

diff --git a/drivers/usb/storage/uas-detect.h b/drivers/usb/storage/uas-detect.h
index 3f720faa6f97..d73282c0ec50 100644
--- a/drivers/usb/storage/uas-detect.h
+++ b/drivers/usb/storage/uas-detect.h
@@ -116,6 +116,19 @@  static int uas_use_uas_driver(struct usb_interface *intf,
 	if (le16_to_cpu(udev->descriptor.idVendor) == 0x0bc2)
 		flags |= US_FL_NO_ATA_1X;
 
+	/*
+	 * RTL9210-based enclosure from HIKSEMI, MD202 reportedly have issues
+	 * with UAS.  This isn't distinguishable with just idVendor and
+	 * idProduct, use manufacturer and product too.
+	 *
+	 * Reported-by: Hongling Zeng <zenghongling@kylinos.cn>
+	 */
+	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")))
+		flags |= US_FL_IGNORE_UAS;
+
 	usb_stor_adjust_quirks(udev, &flags);
 
 	if (flags & US_FL_IGNORE_UAS) {
diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
index 251778d14e2d..c7b763d6d102 100644
--- a/drivers/usb/storage/unusual_uas.h
+++ b/drivers/usb/storage/unusual_uas.h
@@ -83,13 +83,6 @@  UNUSUAL_DEV(0x0bc2, 0x331a, 0x0000, 0x9999,
 		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 		US_FL_NO_REPORT_LUNS),
 
-/* Reported-by: Hongling Zeng <zenghongling@kylinos.cn> */
-UNUSUAL_DEV(0x0bda, 0x9210, 0x0000, 0x9999,
-		"Hiksemi",
-		"External HDD",
-		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
-		US_FL_IGNORE_UAS),
-
 /* Reported-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> */
 UNUSUAL_DEV(0x13fd, 0x3940, 0x0000, 0x9999,
 		"Initio Corporation",