[PATCH] libata: support descriptor sense in ctrl page

Linux Kernel Mailing List <[email protected]> Wed, 23 Mar 2005 04:24:54 +0000
Newsgroups gmane.linux.kernel.commits.2-4
Message-ID <[email protected]>
ChangeSet 1.1448.129.4, 2005/03/22 23:24:54-05:00, [email protected]

	[PATCH] libata: support descriptor sense in ctrl page
	
	libata must support the descriptor format sense blocks as they
	are required to properly report results of ATA pass through
	commands as well as other SCSI commands reporting 48b LBAs.
	This patch adjusts the control mode page to properly report
	this.
	
	Signed-off-by: Brett Russ <[email protected]>
	Signed-off-by: Jeff Garzik <[email protected]>



 libata-scsi.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletion(-)


diff -Nru a/drivers/scsi/libata-scsi.c b/drivers/scsi/libata-scsi.c
--- a/drivers/scsi/libata-scsi.c	2005-04-30 12:14:46 -07:00
+++ b/drivers/scsi/libata-scsi.c	2005-04-30 12:14:46 -07:00
@@ -1000,7 +1000,12 @@
 
 static unsigned int ata_msense_ctl_mode(u8 **ptr_io, const u8 *last)
 {
-	const u8 page[] = {0xa, 0xa, 2, 0, 0, 0, 0, 0, 0xff, 0xff, 0, 30};
+	const u8 page[] = {0xa, 0xa, 6, 0, 0, 0, 0, 0, 0xff, 0xff, 0, 30};
+
+	/* byte 2: set the descriptor format sense data bit (bit 2)
+	 * since we need to support returning this format for SAT
+	 * commands and any SCSI commands against a 48b LBA device.
+	 */
 
 	ata_msense_push(ptr_io, last, page, sizeof(page));
 	return sizeof(page);