diff options
author | Hannes Reinecke <hare@suse.de> | 2011-03-07 08:56:44 +0100 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2011-03-14 07:59:37 +0100 |
commit | 6b3b9d73e08d8939aaf54f85bb47495171f49e20 (patch) | |
tree | 585aa0ee0cee78b1fb773073712bae5fd2467d72 /drivers/ata | |
parent | ata/pata_arasan_cf: fill dma chan->private from pdata->dma_priv (diff) | |
download | linux-6b3b9d73e08d8939aaf54f85bb47495171f49e20.tar.xz linux-6b3b9d73e08d8939aaf54f85bb47495171f49e20.zip |
libata: Include WWN ID in inquiry VPD emulation
As per SAT-3 the WWN ID should be included in the VPD page 0x83
(device identification) emulation.
Signed-off-by: Hannes Reinecke <hare@suse.de>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/libata-scsi.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index c11675f34b93..a83419991357 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -2056,6 +2056,17 @@ static unsigned int ata_scsiop_inq_83(struct ata_scsi_args *args, u8 *rbuf) ATA_ID_SERNO_LEN); num += ATA_ID_SERNO_LEN; + if (ata_id_has_wwn(args->id)) { + /* SAT defined lu world wide name */ + /* piv=0, assoc=lu, code_set=binary, designator=NAA */ + rbuf[num + 0] = 1; + rbuf[num + 1] = 3; + rbuf[num + 3] = ATA_ID_WWN_LEN; + num += 4; + ata_id_string(args->id, (unsigned char *) rbuf + num, + ATA_ID_WWN, ATA_ID_WWN_LEN); + num += ATA_ID_WWN_LEN; + } rbuf[3] = num - 4; /* page len (assume less than 256 bytes) */ return 0; } |