OSDN Git Service

libata: introduce notion of separate hardware tags
authorJens Axboe <axboe@kernel.dk>
Fri, 11 May 2018 18:51:03 +0000 (12:51 -0600)
committerTejun Heo <tj@kernel.org>
Fri, 11 May 2018 20:10:42 +0000 (13:10 -0700)
Rigth now these are the same, but drivers should be using ->hw_tag
for their command setup and issue.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/libata-core.c
include/linux/libata.h

index 40caad1..4dc67c7 100644 (file)
@@ -1600,7 +1600,7 @@ unsigned ata_exec_internal_sg(struct ata_device *dev,
 
        qc = __ata_qc_from_tag(ap, tag);
 
-       qc->tag = tag;
+       qc->tag = qc->hw_tag = tag;
        qc->scsicmd = NULL;
        qc->ap = ap;
        qc->dev = dev;
@@ -5125,7 +5125,7 @@ struct ata_queued_cmd *ata_qc_new_init(struct ata_device *dev, int tag)
        }
 
        qc = __ata_qc_from_tag(ap, tag);
-       qc->tag = tag;
+       qc->tag = qc->hw_tag = tag;
        qc->scsicmd = NULL;
        qc->ap = ap;
        qc->dev = dev;
index 1795fec..07a8d54 100644 (file)
@@ -637,7 +637,8 @@ struct ata_queued_cmd {
        u8                      cdb[ATAPI_CDB_LEN];
 
        unsigned long           flags;          /* ATA_QCFLAG_xxx */
-       unsigned int            tag;
+       unsigned int            tag;            /* libata core tag */
+       unsigned int            hw_tag;         /* driver tag */
        unsigned int            n_elem;
        unsigned int            orig_n_elem;