Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2978121imu; Sun, 9 Dec 2018 14:08:56 -0800 (PST) X-Google-Smtp-Source: AFSGD/XZ/B5yU9nIp8PdU96nvvMU0fWJ3SslCcUdIIjkA1eM/UwaVygdYDzhKJ5dSgwVSY9GgjN0 X-Received: by 2002:a63:d513:: with SMTP id c19mr8820285pgg.287.1544393336426; Sun, 09 Dec 2018 14:08:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544393336; cv=none; d=google.com; s=arc-20160816; b=GQm1IuOBV3dipijZk2CuXB4RVlM9/SXBLdoXxtVcv+Q2z802qgpSyJgJlWyzlfQxDA t24/KefBQtvGesSm3jutAZPijMrUZt6rddq9k6FLULymB0+JmtzXCCLrQxeQLGztlauW 5QZzLSa0kpamjbS2twmzBDngPbGU05329/LiTWar9jo6tNHgTDtJKm2SGcw7UCJGo3vL IKwpV5DHk58YqRI1KKr5u2hQ/fOxtEJlYAHsn74spTv0GgqEUe20aQpCxSwpbLp066+y OHHJvpJyfLwTmtIVAkUVx7jCB0gF7H8WcmVDjXP6NZHqU0vlOpnFWoL8ckACZJrTnH0y kU5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:subject:message-id:date:cc:to :from:mime-version:content-transfer-encoding:content-disposition; bh=y16iISdmQAwT3urGTGFYhnw5/5y309R7zDi2vDOpxK8=; b=voq/SuOeWTXf/vHwtwDeQt8oLZMMNJqF9CZ5D0No8XPKH/r/dtscNJZkjGlEuMHbcV K8/+cExGgtXrgEKyeSFmPs19cjIrCHqQ7cr6+9vJPJo2ofJf0SzD7vnuHL7mov5xp3f6 LsiXnWLZsCHdJbRCl2S3QoMEa3xvWKQkWMuC5TeyNqvJn4Bg9MnS1tHXk5Wg3B1+lLBZ OrcvaPWpz6JytlRolkorcN9mRwtNS/unmkx/6pZCJNJu8PcvbvOCwrFuu2QW6Vkp0zLQ MNob92GjS3+D/m0k1zgSnjfHlsk5u0zCPSi7qAZP2VnpZtAvZ3f8UQAYywTHJNt4yiRJ 0sRQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y7si8309896plk.275.2018.12.09.14.08.41; Sun, 09 Dec 2018 14:08:56 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727870AbeLIWHN (ORCPT + 99 others); Sun, 9 Dec 2018 17:07:13 -0500 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:37176 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727863AbeLIWHK (ORCPT ); Sun, 9 Dec 2018 17:07:10 -0500 Received: from pub.yeoldevic.com ([81.174.156.145] helo=deadeye) by shadbolt.decadent.org.uk with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gW735-0002ih-3X; Sun, 09 Dec 2018 21:55:39 +0000 Received: from ben by deadeye with local (Exim 4.91) (envelope-from ) id 1gW72g-0003Uw-1h; Sun, 09 Dec 2018 21:55:14 +0000 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 From: Ben Hutchings To: linux-kernel@vger.kernel.org, stable@vger.kernel.org CC: akpm@linux-foundation.org, "Greg Kroah-Hartman" , "Alan Stern" , "Tim Anderson" Date: Sun, 09 Dec 2018 21:50:33 +0000 Message-ID: X-Mailer: LinuxStableQueue (scripts by bwh) X-Patchwork-Hint: ignore Subject: [PATCH 3.16 198/328] USB: Add quirk to support DJI CineSSD In-Reply-To: X-SA-Exim-Connect-IP: 81.174.156.145 X-SA-Exim-Mail-From: ben@decadent.org.uk X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.16.62-rc1 review patch. If anyone has any objections, please let me know. ------------------ From: Tim Anderson 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 Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [bwh: Backported to 3.16: adjust context] Signed-off-by: Ben Hutchings --- 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 */ +UNUSUAL_DEV( 0x2ca3, 0x0031, 0x0000, 0x9999, + "DJI", + "CineSSD", + USB_SC_DEVICE, USB_PR_DEVICE, NULL, + US_FL_NO_ATA_1X), + /* Reported by Frederic Marchal * Mio Moov 330 */