Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 15631
b: refs/heads/master
c: 63c59c3
h: refs/heads/master
i:
  15629: 6aa5af8
  15627: 737f5f4
  15623: 2c6009a
  15615: c29820b
v: v3
  • Loading branch information
James.Smart@Emulex.Com authored and James Bottomley committed Dec 14, 2005
1 parent e672e6f commit 167bcd9
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 39 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 23dc04f1ec0d2f8fdda82ad1f9aa87b6ed74cd4a
refs/heads/master: 63c59c3b8ff444b771a245f59935c0202ece963b
52 changes: 14 additions & 38 deletions trunk/drivers/scsi/lpfc/lpfc_scsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -760,11 +760,12 @@ lpfc_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *))
return 0;
}


static int
__lpfc_abort_handler(struct scsi_cmnd *cmnd)
lpfc_abort_handler(struct scsi_cmnd *cmnd)
{
struct lpfc_hba *phba =
(struct lpfc_hba *)cmnd->device->host->hostdata[0];
struct Scsi_Host *shost = cmnd->device->host;
struct lpfc_hba *phba = (struct lpfc_hba *)shost->hostdata[0];
struct lpfc_sli_ring *pring = &phba->sli.ring[phba->sli.fcp_ring];
struct lpfc_iocbq *iocb;
struct lpfc_iocbq *abtsiocb;
Expand All @@ -773,6 +774,7 @@ __lpfc_abort_handler(struct scsi_cmnd *cmnd)
unsigned int loop_count = 0;
int ret = SUCCESS;

spin_lock_irq(shost->host_lock);

lpfc_cmd = (struct lpfc_scsi_buf *)cmnd->host_scribble;
BUG_ON(!lpfc_cmd);
Expand Down Expand Up @@ -850,21 +852,13 @@ __lpfc_abort_handler(struct scsi_cmnd *cmnd)
phba->brd_no, ret, cmnd->device->id,
cmnd->device->lun, cmnd->serial_number);

return ret;
}
spin_unlock_irq(shost->host_lock);

static int
lpfc_abort_handler(struct scsi_cmnd *cmnd)
{
int rc;
spin_lock_irq(cmnd->device->host->host_lock);
rc = __lpfc_abort_handler(cmnd);
spin_unlock_irq(cmnd->device->host->host_lock);
return rc;
return ret;
}

static int
__lpfc_reset_lun_handler(struct scsi_cmnd *cmnd)
lpfc_reset_lun_handler(struct scsi_cmnd *cmnd)
{
struct Scsi_Host *shost = cmnd->device->host;
struct lpfc_hba *phba = (struct lpfc_hba *)shost->hostdata[0];
Expand All @@ -875,6 +869,7 @@ __lpfc_reset_lun_handler(struct scsi_cmnd *cmnd)
int ret = FAILED;
int cnt, loopcnt;

spin_lock_irq(shost->host_lock);
/*
* If target is not in a MAPPED state, delay the reset until
* target is rediscovered or nodev timeout expires.
Expand Down Expand Up @@ -964,24 +959,12 @@ __lpfc_reset_lun_handler(struct scsi_cmnd *cmnd)
lpfc_cmd->result);
lpfc_release_scsi_buf(phba, lpfc_cmd);
out:
spin_unlock_irq(shost->host_lock);
return ret;
}

static int
lpfc_reset_lun_handler(struct scsi_cmnd *cmnd)
{
int rc;
spin_lock_irq(cmnd->device->host->host_lock);
rc = __lpfc_reset_lun_handler(cmnd);
spin_unlock_irq(cmnd->device->host->host_lock);
return rc;
}

/*
* Note: midlayer calls this function with the host_lock held
*/
static int
__lpfc_reset_bus_handler(struct scsi_cmnd *cmnd)
lpfc_reset_bus_handler(struct scsi_cmnd *cmnd)
{
struct Scsi_Host *shost = cmnd->device->host;
struct lpfc_hba *phba = (struct lpfc_hba *)shost->hostdata[0];
Expand All @@ -992,6 +975,8 @@ __lpfc_reset_bus_handler(struct scsi_cmnd *cmnd)
unsigned int midlayer_id = 0;
struct lpfc_scsi_buf * lpfc_cmd;

spin_lock_irq(shost->host_lock);

lpfc_cmd = lpfc_sli_get_scsi_buf (phba);
if (lpfc_cmd == NULL)
goto out;
Expand Down Expand Up @@ -1067,19 +1052,10 @@ __lpfc_reset_bus_handler(struct scsi_cmnd *cmnd)
"%d:0714 SCSI layer issued Bus Reset Data: x%x\n",
phba->brd_no, ret);
out:
spin_unlock_irq(shost->host_lock);
return ret;
}

static int
lpfc_reset_bus_handler(struct scsi_cmnd *cmnd)
{
int rc;
spin_lock_irq(cmnd->device->host->host_lock);
rc = __lpfc_reset_bus_handler(cmnd);
spin_unlock_irq(cmnd->device->host->host_lock);
return rc;
}

static int
lpfc_slave_alloc(struct scsi_device *sdev)
{
Expand Down

0 comments on commit 167bcd9

Please sign in to comment.