aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_scsi.c
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2010-06-08 18:31:21 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-07-27 13:01:35 -0400
commit75baf69657ea2107f2c202cd29dada206ae4b7c4 (patch)
tree76f48393730c19e0a0286ceaa5132d8e500f127f /drivers/scsi/lpfc/lpfc_scsi.c
parentc20c426732a5a5d21e99b36286f79c2024115341 (diff)
[SCSI] lpfc 8.3.14: PCI fixes and enhancements
- Allow enabling MSI-X intterupts with fewer vectors than requested by looking at the return value from pci_enable_msix. - Implemented driver PCI AER error handling routines for supporting AER error recovering on SLI4 devices. - Remove redundant SLI_ACTIVE checks Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_scsi.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_scsi.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
index c6bdf63925d9..f68753ea941f 100644
--- a/drivers/scsi/lpfc/lpfc_scsi.c
+++ b/drivers/scsi/lpfc/lpfc_scsi.c
@@ -2295,15 +2295,21 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
2295 struct lpfc_vport *vport = pIocbIn->vport; 2295 struct lpfc_vport *vport = pIocbIn->vport;
2296 struct lpfc_rport_data *rdata = lpfc_cmd->rdata; 2296 struct lpfc_rport_data *rdata = lpfc_cmd->rdata;
2297 struct lpfc_nodelist *pnode = rdata->pnode; 2297 struct lpfc_nodelist *pnode = rdata->pnode;
2298 struct scsi_cmnd *cmd = lpfc_cmd->pCmd; 2298 struct scsi_cmnd *cmd;
2299 int result; 2299 int result;
2300 struct scsi_device *tmp_sdev; 2300 struct scsi_device *tmp_sdev;
2301 int depth; 2301 int depth;
2302 unsigned long flags; 2302 unsigned long flags;
2303 struct lpfc_fast_path_event *fast_path_evt; 2303 struct lpfc_fast_path_event *fast_path_evt;
2304 struct Scsi_Host *shost = cmd->device->host; 2304 struct Scsi_Host *shost;
2305 uint32_t queue_depth, scsi_id; 2305 uint32_t queue_depth, scsi_id;
2306 2306
2307 /* Sanity check on return of outstanding command */
2308 if (!(lpfc_cmd->pCmd))
2309 return;
2310 cmd = lpfc_cmd->pCmd;
2311 shost = cmd->device->host;
2312
2307 lpfc_cmd->result = pIocbOut->iocb.un.ulpWord[4]; 2313 lpfc_cmd->result = pIocbOut->iocb.un.ulpWord[4];
2308 lpfc_cmd->status = pIocbOut->iocb.ulpStatus; 2314 lpfc_cmd->status = pIocbOut->iocb.ulpStatus;
2309 /* pick up SLI4 exhange busy status from HBA */ 2315 /* pick up SLI4 exhange busy status from HBA */