aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_mbx.c
diff options
context:
space:
mode:
authorAndrew Vasquez <andrew.vasquez@qlogic.com>2008-07-24 11:31:49 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-07-26 15:31:30 -0400
commitc9c5ced90abc22a94c96fa7db0e29c13483a6db0 (patch)
treec85876a934f54735e98b88fef3ee63a63ec7ae30 /drivers/scsi/qla2xxx/qla_mbx.c
parentbf6583b5831d3195c45f98ec3016499389cbe18f (diff)
[SCSI] qla2xxx: Additional NPIV corrections.
Minor fixes addressing: - rport managements during vport deletion. - acquire proper physical-ha during qla24xx_abort_command() and qla24xx_queuecommand() - do not needlessly acquire the pha for non-NPIV capable ISPs. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_mbx.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_mbx.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
index 7d7de592f720..bc90d6b8d0a0 100644
--- a/drivers/scsi/qla2xxx/qla_mbx.c
+++ b/drivers/scsi/qla2xxx/qla_mbx.c
@@ -749,18 +749,17 @@ qla2x00_abort_command(scsi_qla_host_t *ha, srb_t *sp)
749 uint32_t handle; 749 uint32_t handle;
750 mbx_cmd_t mc; 750 mbx_cmd_t mc;
751 mbx_cmd_t *mcp = &mc; 751 mbx_cmd_t *mcp = &mc;
752 scsi_qla_host_t *pha = to_qla_parent(ha);
753 752
754 DEBUG11(printk("qla2x00_abort_command(%ld): entered.\n", ha->host_no)); 753 DEBUG11(printk("qla2x00_abort_command(%ld): entered.\n", ha->host_no));
755 754
756 fcport = sp->fcport; 755 fcport = sp->fcport;
757 756
758 spin_lock_irqsave(&pha->hardware_lock, flags); 757 spin_lock_irqsave(&ha->hardware_lock, flags);
759 for (handle = 1; handle < MAX_OUTSTANDING_COMMANDS; handle++) { 758 for (handle = 1; handle < MAX_OUTSTANDING_COMMANDS; handle++) {
760 if (ha->outstanding_cmds[handle] == sp) 759 if (ha->outstanding_cmds[handle] == sp)
761 break; 760 break;
762 } 761 }
763 spin_unlock_irqrestore(&pha->hardware_lock, flags); 762 spin_unlock_irqrestore(&ha->hardware_lock, flags);
764 763
765 if (handle == MAX_OUTSTANDING_COMMANDS) { 764 if (handle == MAX_OUTSTANDING_COMMANDS) {
766 /* command not found */ 765 /* command not found */
@@ -2172,7 +2171,7 @@ qla24xx_abort_command(scsi_qla_host_t *ha, srb_t *sp)
2172 2171
2173 spin_lock_irqsave(&pha->hardware_lock, flags); 2172 spin_lock_irqsave(&pha->hardware_lock, flags);
2174 for (handle = 1; handle < MAX_OUTSTANDING_COMMANDS; handle++) { 2173 for (handle = 1; handle < MAX_OUTSTANDING_COMMANDS; handle++) {
2175 if (ha->outstanding_cmds[handle] == sp) 2174 if (pha->outstanding_cmds[handle] == sp)
2176 break; 2175 break;
2177 } 2176 }
2178 spin_unlock_irqrestore(&pha->hardware_lock, flags); 2177 spin_unlock_irqrestore(&pha->hardware_lock, flags);