Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0845f2a4 authored by Tim Anderson's avatar Tim Anderson Committed by Greg Kroah-Hartman
Browse files

USB: Add quirk to support DJI CineSSD



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: default avatarTim Anderson <tsa@biglakesoftware.com>
Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 599f1e90
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -259,6 +259,9 @@ static const struct usb_device_id usb_quirk_list[] = {
	{ 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 },

+9 −0
Original line number Diff line number Diff line
@@ -392,6 +392,15 @@ static int queuecommand_lck(struct scsi_cmnd *srb,
		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;
+7 −0
Original line number Diff line number Diff line
@@ -2307,6 +2307,13 @@ UNUSUAL_DEV( 0x2735, 0x100b, 0x0000, 0x9999,
		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