Re: [Bug 200917] 4.18 regression: I/O error on external icybox disk enclosures

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 3 Oct 2018, Klaus Kusche wrote:

> Hello,
> 
> On 09/09/2018 21:28, Alan Stern wrote:
> > On Sun, 9 Sep 2018, Klaus Kusche wrote:
> > 
> >> Hello,
> >>
> >> On 01/09/2018 17:38, Alan Stern wrote:
> >>> However, the USB layer does set certain quirk bits which can cause
> >>> those other parts to avoid sending certain commands.  Perhaps your
> >>> controller needs the BROKEN_FUA flag (see the existing entries in
> >>> drivers/usb/storage/unusual_devs.h with that flag).
> >>
> >> The following seems to fix the problem (I don't know if I did it right):
> >>
> >> --- unusual_uas.h.orig  2018-09-09 10:31:20.440751625 +0200
> >> +++ unusual_uas.h       2018-09-09 10:32:30.491381466 +0200
> >> @@ -95,7 +95,7 @@
> >>                   "JMicron",
> >>                   "JMS566",
> >>                   USB_SC_DEVICE, USB_PR_DEVICE, NULL,
> >> -               US_FL_NO_REPORT_OPCODES | US_FL_IGNORE_UAS),
> >> +               US_FL_NO_REPORT_OPCODES | US_FL_IGNORE_UAS | US_FL_BROKEN_FUA),
> >>
> >>    /* Reported-by: Hans de Goede <hdegoede@xxxxxxxxxx> */
> >>    UNUSUAL_DEV(0x4971, 0x1012, 0x0000, 0x9999,
> > 
> > Okay.  You should submit this in the proper format for inclusion in the
> > kernel.  Follow the instructions in
> > Documentation/process/submitting-patches.rst.
> 
> Sorry for the long delay, I was not able to spare some time earlier
> (winter semester has started...).
> 
> I just wanted to submit the patch as advised above,
> but noticed that it does not apply to the current usb git tree:
> 
> Both the usb tree and linus's tree do not have US_FL_IGNORE_UAS
> set for device JMS566 (357d:7788).
> So I checked where my version came from and found a patch
> which gentoo applies to all its kernels, but which is not mainline:
> 
> --- a/drivers/usb/storage/unusual_uas.h
> +++ b/drivers/usb/storage/unusual_uas.h
> @@ -141,12 +141,15 @@ UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999,
>   		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
>   		US_FL_NO_ATA_1X),
> 
> -/* Reported-by: Takeo Nakayama <javhera@xxxxxxx> */
> +/*
> + * Initially Reported-by: Takeo Nakayama <javhera@xxxxxxx>
> + * UAS Ignore Reported by Steven Ellis <sellis@xxxxxxxxxx>
> + */
>   UNUSUAL_DEV(0x357d, 0x7788, 0x0000, 0x9999,
>   		"JMicron",
>   		"JMS566",
>   		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
> -		US_FL_NO_REPORT_OPCODES),
> +		US_FL_NO_REPORT_OPCODES | US_FL_IGNORE_UAS),
> 
>   /* Reported-by: Hans de Goede <hdegoede@xxxxxxxxxx> */
>   UNUSUAL_DEV(0x4971, 0x1012, 0x0000, 0x9999,
> 
> So is my patch still relevant or is it obsolete?
> Shall I add only US_FL_BROKEN_FUA even without US_FL_IGNORE_UAS,
> or shall I add both flags?
> 
> (I noticed that US_FL_BROKEN_FUA without US_FL_IGNORE_UAS is set
> for two entries for "JMS567").

Well, what happens if you add only US_FL_BROKEN_FUA without 
US_FL_IGNORE_UAS?  Does it work?

For that matter, does your kernel config include the uas driver?

Alan Stern




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux