lkml.org 
[lkml]   [2016]   [Jan]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.19.y-ckt 038/160] usb-storage: Fix scsi-sd failure "Invalid field in cdb" for USB adapter JMicron
    Date
    3.19.8-ckt13 -stable review patch.  If anyone has any objections, please let me know.

    ---8<------------------------------------------------------------

    From: Dmitry Katsubo <dmitry.katsubo@gmail.com>

    commit 9fa62b1a31c96715aef34f25000e882ed4ac4876 upstream.

    The patch extends the family of SATA-to-USB JMicron adapters that need
    FUA to be disabled and applies the same policy for uas driver.
    See details in http://unix.stackexchange.com/questions/237204/

    Signed-off-by: Dmitry Katsubo <dmitry.katsubo@gmail.com>
    Tested-by: Dmitry Katsubo <dmitry.katsubo@gmail.com>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    drivers/usb/storage/uas.c | 4 ++++
    drivers/usb/storage/unusual_devs.h | 2 +-
    drivers/usb/storage/unusual_uas.h | 2 +-
    3 files changed, 6 insertions(+), 2 deletions(-)

    diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
    index 6d3122a..75e4979 100644
    --- a/drivers/usb/storage/uas.c
    +++ b/drivers/usb/storage/uas.c
    @@ -796,6 +796,10 @@ static int uas_slave_configure(struct scsi_device *sdev)
    if (devinfo->flags & US_FL_NO_REPORT_OPCODES)
    sdev->no_report_opcodes = 1;

    + /* A few buggy USB-ATA bridges don't understand FUA */
    + if (devinfo->flags & US_FL_BROKEN_FUA)
    + sdev->broken_fua = 1;
    +
    scsi_change_queue_depth(sdev, devinfo->qdepth - 2);
    return 0;
    }
    diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
    index 87898ca..4095824 100644
    --- a/drivers/usb/storage/unusual_devs.h
    +++ b/drivers/usb/storage/unusual_devs.h
    @@ -1987,7 +1987,7 @@ UNUSUAL_DEV( 0x14cd, 0x6600, 0x0201, 0x0201,
    US_FL_IGNORE_RESIDUE ),

    /* Reported by Michael Büsch <m@bues.ch> */
    -UNUSUAL_DEV( 0x152d, 0x0567, 0x0114, 0x0114,
    +UNUSUAL_DEV( 0x152d, 0x0567, 0x0114, 0x0116,
    "JMicron",
    "USB to ATA/ATAPI Bridge",
    USB_SC_DEVICE, USB_PR_DEVICE, NULL,
    diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
    index c85ea53..ccc113e 100644
    --- a/drivers/usb/storage/unusual_uas.h
    +++ b/drivers/usb/storage/unusual_uas.h
    @@ -132,7 +132,7 @@ UNUSUAL_DEV(0x152d, 0x0567, 0x0000, 0x9999,
    "JMicron",
    "JMS567",
    USB_SC_DEVICE, USB_PR_DEVICE, NULL,
    - US_FL_NO_REPORT_OPCODES),
    + US_FL_BROKEN_FUA | US_FL_NO_REPORT_OPCODES),

    /* Reported-by: Hans de Goede <hdegoede@redhat.com> */
    UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999,
    --
    1.9.1

    \
     
     \ /
      Last update: 2016-01-20 03:01    [W:4.065 / U:0.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site