mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	The "G-Drive" (sold by G-Technology) external USB 3.0 drive hangs on write access under UAS and usb-storage: [ 136.079121] sd 15:0:0:0: [sdi] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE [ 136.079144] sd 15:0:0:0: [sdi] tag#0 Sense Key : Illegal Request [current] [ 136.079152] sd 15:0:0:0: [sdi] tag#0 Add. Sense: Invalid field in cdb [ 136.079176] sd 15:0:0:0: [sdi] tag#0 CDB: Write(16) 8a 08 00 00 00 00 00 00 00 00 00 00 00 08 00 00 [ 136.079180] print_req_error: critical target error, dev sdi, sector 0 [ 136.079183] Buffer I/O error on dev sdi, logical block 0, lost sync page write [ 136.173148] EXT4-fs (sdi): mounted filesystem with ordered data mode. Opts: (null) [ 140.583998] sd 15:0:0:0: [sdi] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE [ 140.584010] sd 15:0:0:0: [sdi] tag#0 Sense Key : Illegal Request [current] [ 140.584016] sd 15:0:0:0: [sdi] tag#0 Add. Sense: Invalid field in cdb [ 140.584022] sd 15:0:0:0: [sdi] tag#0 CDB: Write(16) 8a 08 00 00 00 00 e8 c4 00 18 00 00 00 08 00 00 [ 140.584025] print_req_error: critical target error, dev sdi, sector 3905159192 [ 140.584044] print_req_error: critical target error, dev sdi, sector 3905159192 [ 140.584052] Aborting journal on device sdi-8. The proposed patch adds compatibility quirks. Because the drive requires two quirks (one to work with UAS, and another to work with usb-storage), adding this under unusual_devs.h and not just unusual_uas.h so kernels compiled without UAS receive the quirk. With the patch, the drive works reliably on UAS and usb- storage. (tested on NEC Corporation uPD720200 USB 3.0 host controller). Signed-off-by: Alexander Kappner <agk@godking.net> Acked-by: Alan Stern <stern@rowland.harvard.edu> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
		
			
				
	
	
		
			118 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
// SPDX-License-Identifier: GPL-2.0+
 | 
						|
/*
 | 
						|
 * Driver for USB Attached SCSI devices - Unusual Devices File
 | 
						|
 *
 | 
						|
 *   (c) 2013 Hans de Goede <hdegoede@redhat.com>
 | 
						|
 *
 | 
						|
 * Based on the same file for the usb-storage driver, which is:
 | 
						|
 *   (c) 2000-2002 Matthew Dharm (mdharm-usb@one-eyed-alien.net)
 | 
						|
 *   (c) 2000 Adam J. Richter (adam@yggdrasil.com), Yggdrasil Computing, Inc.
 | 
						|
 */
 | 
						|
 | 
						|
/*
 | 
						|
 * IMPORTANT NOTE: This file must be included in another file which defines
 | 
						|
 * a UNUSUAL_DEV macro before this file is included.
 | 
						|
 */
 | 
						|
 | 
						|
/*
 | 
						|
 * If you edit this file, please try to keep it sorted first by VendorID,
 | 
						|
 * then by ProductID.
 | 
						|
 *
 | 
						|
 * If you want to add an entry for this file, be sure to include the
 | 
						|
 * following information:
 | 
						|
 *	- a patch that adds the entry for your device, including your
 | 
						|
 *	  email address right above the entry (plus maybe a brief
 | 
						|
 *	  explanation of the reason for the entry),
 | 
						|
 *	- lsusb -v output for the device
 | 
						|
 * Send your submission to Hans de Goede <hdegoede@redhat.com>
 | 
						|
 * and don't forget to CC: the USB development list <linux-usb@vger.kernel.org>
 | 
						|
 */
 | 
						|
 | 
						|
/*
 | 
						|
 * Apricorn USB3 dongle sometimes returns "USBSUSBSUSBS" in response to SCSI
 | 
						|
 * commands in UAS mode.  Observed with the 1.28 firmware; are there others?
 | 
						|
 */
 | 
						|
UNUSUAL_DEV(0x0984, 0x0301, 0x0128, 0x0128,
 | 
						|
		"Apricorn",
 | 
						|
		"",
 | 
						|
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 | 
						|
		US_FL_IGNORE_UAS),
 | 
						|
 | 
						|
/* Reported-by: David Webb <djw@noc.ac.uk> */
 | 
						|
UNUSUAL_DEV(0x0bc2, 0x331a, 0x0000, 0x9999,
 | 
						|
		"Seagate",
 | 
						|
		"Expansion Desk",
 | 
						|
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 | 
						|
		US_FL_NO_REPORT_LUNS),
 | 
						|
 | 
						|
/* Reported-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> */
 | 
						|
UNUSUAL_DEV(0x13fd, 0x3940, 0x0000, 0x9999,
 | 
						|
		"Initio Corporation",
 | 
						|
		"INIC-3069",
 | 
						|
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 | 
						|
		US_FL_NO_ATA_1X | US_FL_IGNORE_RESIDUE),
 | 
						|
 | 
						|
/* Reported-by: Tom Arild Naess <tanaess@gmail.com> */
 | 
						|
UNUSUAL_DEV(0x152d, 0x0539, 0x0000, 0x9999,
 | 
						|
		"JMicron",
 | 
						|
		"JMS539",
 | 
						|
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 | 
						|
		US_FL_NO_REPORT_OPCODES),
 | 
						|
 | 
						|
/* Reported-by: Claudio Bizzarri <claudio.bizzarri@gmail.com> */
 | 
						|
UNUSUAL_DEV(0x152d, 0x0567, 0x0000, 0x9999,
 | 
						|
		"JMicron",
 | 
						|
		"JMS567",
 | 
						|
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 | 
						|
		US_FL_BROKEN_FUA | US_FL_NO_REPORT_OPCODES),
 | 
						|
 | 
						|
/* Reported-by: David Kozub <zub@linux.fjfi.cvut.cz> */
 | 
						|
UNUSUAL_DEV(0x152d, 0x0578, 0x0000, 0x9999,
 | 
						|
		"JMicron",
 | 
						|
		"JMS567",
 | 
						|
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 | 
						|
		US_FL_BROKEN_FUA),
 | 
						|
 | 
						|
/* Reported-by: Hans de Goede <hdegoede@redhat.com> */
 | 
						|
UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999,
 | 
						|
		"VIA",
 | 
						|
		"VL711",
 | 
						|
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 | 
						|
		US_FL_NO_ATA_1X),
 | 
						|
 | 
						|
/* Reported-by: Icenowy Zheng <icenowy@aosc.io> */
 | 
						|
UNUSUAL_DEV(0x2537, 0x1068, 0x0000, 0x9999,
 | 
						|
		"Norelsys",
 | 
						|
		"NS1068X",
 | 
						|
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 | 
						|
		US_FL_IGNORE_UAS),
 | 
						|
 | 
						|
/* Reported-by: Takeo Nakayama <javhera@gmx.com> */
 | 
						|
UNUSUAL_DEV(0x357d, 0x7788, 0x0000, 0x9999,
 | 
						|
		"JMicron",
 | 
						|
		"JMS566",
 | 
						|
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 | 
						|
		US_FL_NO_REPORT_OPCODES),
 | 
						|
 | 
						|
/* Reported-by: Hans de Goede <hdegoede@redhat.com> */
 | 
						|
UNUSUAL_DEV(0x4971, 0x1012, 0x0000, 0x9999,
 | 
						|
		"Hitachi",
 | 
						|
		"External HDD",
 | 
						|
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 | 
						|
		US_FL_IGNORE_UAS),
 | 
						|
 | 
						|
/* Reported-by: Richard Henderson <rth@redhat.com> */
 | 
						|
UNUSUAL_DEV(0x4971, 0x8017, 0x0000, 0x9999,
 | 
						|
		"SimpleTech",
 | 
						|
		"External HDD",
 | 
						|
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 | 
						|
		US_FL_NO_REPORT_OPCODES),
 | 
						|
 | 
						|
/* "G-DRIVE" external HDD hangs on write without these.
 | 
						|
 * Patch submitted by Alexander Kappner <agk@godking.net>
 | 
						|
 */
 | 
						|
UNUSUAL_DEV(0x4971, 0x8024, 0x0000, 0x9999,
 | 
						|
		"SimpleTech",
 | 
						|
		"External HDD",
 | 
						|
		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 | 
						|
		US_FL_ALWAYS_SYNC),
 |