diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 2116f27945805098da6538f8e9ddcd65f4a84576..8d425064ce2c7f428af3a9ea1487b226fe6faa41 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -59,8 +59,6 @@
 
 #include "libata.h"
 
-#define DRV_VERSION	"2.21"	/* must be exactly four chars */
-
 
 /* debounce timing parameters in msecs { interval, duration, timeout } */
 const unsigned long sata_deb_timing_normal[]		= {   5,  100, 2000 };
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index d482b589a18a3c42b8e7283d7ca98749371e65c1..468d791a303c58cb1203c03bd51815e69918197c 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -1831,8 +1831,9 @@ unsigned int ata_scsiop_inq_89(struct ata_scsi_args *args, u8 *rbuf,
 	pbuf[2] = (0x238 >> 8);		/* page size fixed at 238h */
 	pbuf[3] = (0x238 & 0xff);
 
-	memcpy(&pbuf[8], "ATA     ", 8);
-	ata_id_string(args->id, &pbuf[16], ATA_ID_PROD, 16);
+	memcpy(&pbuf[8], "linux   ", 8);
+	memcpy(&pbuf[16], "libata          ", 16);
+	memcpy(&pbuf[32], DRV_VERSION, 4);
 	ata_id_string(args->id, &pbuf[32], ATA_ID_FW_REV, 4);
 
 	/* we don't store the ATA device signature, so we fake it */
diff --git a/drivers/ata/libata.h b/drivers/ata/libata.h
index 11f64a43b38a40243d7295580f0a9caa6852d8d5..e45f6d5542d583446ff51d3184c47af6ee180788 100644
--- a/drivers/ata/libata.h
+++ b/drivers/ata/libata.h
@@ -29,6 +29,7 @@
 #define __LIBATA_H__
 
 #define DRV_NAME	"libata"
+#define DRV_VERSION	"2.21"	/* must be exactly four chars */
 
 struct ata_scsi_args {
 	struct ata_device	*dev;