[SCSI] qla2xxx: Include request queue ID in the upper 16-bits of the I/O handle for...
authorMike Hernandez <michael.hernandez@qlogic.com>
Wed, 30 Mar 2011 18:46:20 +0000 (11:46 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 1 May 2011 14:57:57 +0000 (09:57 -0500)
The upper 16-bits of the handle for all I/O in multi-queue supported
drivers carries the ID of the request queue it was submitted on. When
using Abort I/O IOCB, the driver needs to also populate the upper
16-bits in the handle_to_abort field so the fw can correlate with the
actual I/O.

Signed-off-by: Mike Hernandez <michael.hernandez@qlogic.com>
Signed-off-by: Madhuranath Iyengar <Madhu.Iyengar@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/qla2xxx/qla_mbx.c

index 34893397ac84ef5b4aeebf883a5ac3d0b3d0a88c..1ef46ab9105dca6cc5eadccd9ea79a43e2b9d322 100644 (file)
@@ -2362,7 +2362,7 @@ qla24xx_abort_command(srb_t *sp)
        abt->entry_count = 1;
        abt->handle = MAKE_HANDLE(req->id, abt->handle);
        abt->nport_handle = cpu_to_le16(fcport->loop_id);
-       abt->handle_to_abort = handle;
+       abt->handle_to_abort = MAKE_HANDLE(req->id, handle);
        abt->port_id[0] = fcport->d_id.b.al_pa;
        abt->port_id[1] = fcport->d_id.b.area;
        abt->port_id[2] = fcport->d_id.b.domain;