lkml.org 
[lkml]   [2018]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 198/328] USB: Add quirk to support DJI CineSSD
    3.16.62-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Tim Anderson <tsa@biglakesoftware.com>

    commit f45681f9becaa65111ed0a691ccf080a0cd5feb8 upstream.

    This device does not correctly handle the LPM operations.

    Also, the device cannot handle ATA pass-through commands
    and locks up when attempted while running in super speed.

    This patch adds the equivalent quirk logic as found in uas.

    Signed-off-by: Tim Anderson <tsa@biglakesoftware.com>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    [bwh: Backported to 3.16: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/usb/core/quirks.c | 3 +++
    drivers/usb/storage/scsiglue.c | 9 +++++++++
    drivers/usb/storage/unusual_devs.h | 7 +++++++
    3 files changed, 19 insertions(+)

    --- a/drivers/usb/core/quirks.c
    +++ b/drivers/usb/core/quirks.c
    @@ -260,6 +260,9 @@ static const struct usb_device_id usb_qu
    { USB_DEVICE(0x2040, 0x7200), .driver_info =
    USB_QUIRK_CONFIG_INTF_STRINGS },

    + /* DJI CineSSD */
    + { USB_DEVICE(0x2ca3, 0x0031), .driver_info = USB_QUIRK_NO_LPM },
    +
    /* INTEL VALUE SSD */
    { USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },

    --- a/drivers/usb/storage/scsiglue.c
    +++ b/drivers/usb/storage/scsiglue.c
    @@ -341,6 +341,15 @@ static int queuecommand_lck(struct scsi_
    return 0;
    }

    + if ((us->fflags & US_FL_NO_ATA_1X) &&
    + (srb->cmnd[0] == ATA_12 || srb->cmnd[0] == ATA_16)) {
    + memcpy(srb->sense_buffer, usb_stor_sense_invalidCDB,
    + sizeof(usb_stor_sense_invalidCDB));
    + srb->result = SAM_STAT_CHECK_CONDITION;
    + done(srb);
    + return 0;
    + }
    +
    /* enqueue the command and wake up the control thread */
    srb->scsi_done = done;
    us->srb = srb;
    --- a/drivers/usb/storage/unusual_devs.h
    +++ b/drivers/usb/storage/unusual_devs.h
    @@ -2144,6 +2144,13 @@ UNUSUAL_DEV( 0x2735, 0x100b, 0x0000, 0x
    USB_SC_DEVICE, USB_PR_DEVICE, NULL,
    US_FL_GO_SLOW ),

    +/* Reported-by: Tim Anderson <tsa@biglakesoftware.com> */
    +UNUSUAL_DEV( 0x2ca3, 0x0031, 0x0000, 0x9999,
    + "DJI",
    + "CineSSD",
    + USB_SC_DEVICE, USB_PR_DEVICE, NULL,
    + US_FL_NO_ATA_1X),
    +
    /* Reported by Frederic Marchal <frederic.marchal@wowcompany.com>
    * Mio Moov 330
    */
    \
     
     \ /
      Last update: 2018-12-09 23:18    [W:4.144 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site