Re: [PATCH v2] usb-storage: Add Brain USB3-FW to IGNORE_UAS

From: Alan Stern
Date: Mon Mar 04 2024 - 09:43:33 EST


On Mon, Mar 04, 2024 at 11:16:56AM +0800, Tom Hu wrote:
> The UAS mode of BRAIN 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.
>
> [ 622.518442][ 2] sd 8:0:0:0: [sda] tag#17 uas_eh_abort_handler 0 uas-tag 18
> inflight: CMD
> [ 622.527575][ 2] sd 8:0:0:0: [sda] tag#17 CDB: Write(10) 2a 00 03 6f 88 00 00
> 04 00 00
> [ 622.536330][ 2] sd 8:0:0:0: [sda] tag#0 uas_eh_abort_handler 0 uas-tag 1
> inflight: CMD
> [ 622.545266][ 2] sd 8:0:0:0: [sda] tag#0 CDB: Write(10) 2a 00 07 44 1a 88 00
> 00 08 00
>
> These disks have a broken uas implementation, the tag field of the status
> iu-s is not set properly, so we need to fall-back to usb-storage.
>
> ---
> v2: remove junk information from patch.

No, the junk information is still present.

>
> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>

And I have to rescind this Acked-by.

> Signed-off-by: Hu Xiaoying <huxiaoying@xxxxxxxxxx>
> ---
> drivers/usb/storage/unusual_uas.h | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
> index 1f8c9b16a0fb..98b7ff2c76ba 100644
> --- a/drivers/usb/storage/unusual_uas.h
> +++ b/drivers/usb/storage/unusual_uas.h
> @@ -83,6 +83,13 @@ UNUSUAL_DEV(0x0bc2, 0x331a, 0x0000, 0x9999,
> USB_SC_DEVICE, USB_PR_DEVICE, NULL,
> US_FL_NO_REPORT_LUNS),
>
> +/* Reported-by: Tom Hu <huxiaoying@xxxxxxxxxx> */
> +UNUSUAL_DEV(0x1234, 0x1234, 0x0000, 0x9999,

The junk information is the "0x1234, 0x1234" values. And if you try
removing it from the patch, you'll find that the patch doesn't work.

> + "Brain",
> + "External HDD",
> + USB_SC_DEVICE, USB_PR_DEVICE, NULL,
> + US_FL_IGNORE_UAS),

Fortunately you can get the same effect by setting a module parameter
for usb-storage. For example, in /etc/modprobe.d/brain.conf:

# Brain USB HDD doesn't work in UAS mode (tag field not set properly)
options usb_storage quirks=1234:1234:u

Alan Stern