mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
Merge 'scsi-fixes' branch of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6
This commit is contained in:
commit
6f85fb8154
2 changed files with 6 additions and 8 deletions
|
@ -765,8 +765,6 @@ void fcp_release(fc_channel *fcchain, int count) /* count must > 0 */
|
||||||
|
|
||||||
static void fcp_scsi_done (Scsi_Cmnd *SCpnt)
|
static void fcp_scsi_done (Scsi_Cmnd *SCpnt)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
|
||||||
|
|
||||||
if (FCP_CMND(SCpnt)->done)
|
if (FCP_CMND(SCpnt)->done)
|
||||||
FCP_CMND(SCpnt)->done(SCpnt);
|
FCP_CMND(SCpnt)->done(SCpnt);
|
||||||
}
|
}
|
||||||
|
@ -907,8 +905,6 @@ int fcp_scsi_abort(Scsi_Cmnd *SCpnt)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (++fc->abort_count < (fc->can_queue >> 1)) {
|
if (++fc->abort_count < (fc->can_queue >> 1)) {
|
||||||
unsigned long flags;
|
|
||||||
|
|
||||||
SCpnt->result = DID_ABORT;
|
SCpnt->result = DID_ABORT;
|
||||||
fcmd->done(SCpnt);
|
fcmd->done(SCpnt);
|
||||||
printk("FC: soft abort\n");
|
printk("FC: soft abort\n");
|
||||||
|
@ -931,6 +927,7 @@ void fcp_scsi_reset_done(Scsi_Cmnd *SCpnt)
|
||||||
|
|
||||||
int fcp_scsi_dev_reset(Scsi_Cmnd *SCpnt)
|
int fcp_scsi_dev_reset(Scsi_Cmnd *SCpnt)
|
||||||
{
|
{
|
||||||
|
unsigned long flags;
|
||||||
fcp_cmd *cmd;
|
fcp_cmd *cmd;
|
||||||
fcp_cmnd *fcmd;
|
fcp_cmnd *fcmd;
|
||||||
fc_channel *fc = FC_SCMND(SCpnt);
|
fc_channel *fc = FC_SCMND(SCpnt);
|
||||||
|
@ -1028,6 +1025,7 @@ static int __fcp_scsi_host_reset(Scsi_Cmnd *SCpnt)
|
||||||
|
|
||||||
int fcp_scsi_host_reset(Scsi_Cmnd *SCpnt)
|
int fcp_scsi_host_reset(Scsi_Cmnd *SCpnt)
|
||||||
{
|
{
|
||||||
|
unsigned long flags;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
spin_lock_irqsave(SCpnt->device->host->host_lock, flags);
|
spin_lock_irqsave(SCpnt->device->host->host_lock, flags);
|
||||||
|
|
|
@ -941,7 +941,7 @@ ahd_linux_queue(Scsi_Cmnd * cmd, void (*scsi_done) (Scsi_Cmnd *))
|
||||||
*/
|
*/
|
||||||
cmd->scsi_done = scsi_done;
|
cmd->scsi_done = scsi_done;
|
||||||
|
|
||||||
ahd_lock(ahd, &flags);
|
ahd_midlayer_entrypoint_lock(ahd, &flags);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Close the race of a command that was in the process of
|
* Close the race of a command that was in the process of
|
||||||
|
@ -955,7 +955,7 @@ ahd_linux_queue(Scsi_Cmnd * cmd, void (*scsi_done) (Scsi_Cmnd *))
|
||||||
ahd_cmd_set_transaction_status(cmd, CAM_REQUEUE_REQ);
|
ahd_cmd_set_transaction_status(cmd, CAM_REQUEUE_REQ);
|
||||||
ahd_linux_queue_cmd_complete(ahd, cmd);
|
ahd_linux_queue_cmd_complete(ahd, cmd);
|
||||||
ahd_schedule_completeq(ahd);
|
ahd_schedule_completeq(ahd);
|
||||||
ahd_unlock(ahd, &flags);
|
ahd_midlayer_entrypoint_unlock(ahd, &flags);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
dev = ahd_linux_get_device(ahd, cmd->device->channel,
|
dev = ahd_linux_get_device(ahd, cmd->device->channel,
|
||||||
|
@ -965,7 +965,7 @@ ahd_linux_queue(Scsi_Cmnd * cmd, void (*scsi_done) (Scsi_Cmnd *))
|
||||||
ahd_cmd_set_transaction_status(cmd, CAM_RESRC_UNAVAIL);
|
ahd_cmd_set_transaction_status(cmd, CAM_RESRC_UNAVAIL);
|
||||||
ahd_linux_queue_cmd_complete(ahd, cmd);
|
ahd_linux_queue_cmd_complete(ahd, cmd);
|
||||||
ahd_schedule_completeq(ahd);
|
ahd_schedule_completeq(ahd);
|
||||||
ahd_unlock(ahd, &flags);
|
ahd_midlayer_entrypoint_unlock(ahd, &flags);
|
||||||
printf("%s: aic79xx_linux_queue - Unable to allocate device!\n",
|
printf("%s: aic79xx_linux_queue - Unable to allocate device!\n",
|
||||||
ahd_name(ahd));
|
ahd_name(ahd));
|
||||||
return (0);
|
return (0);
|
||||||
|
@ -979,7 +979,7 @@ ahd_linux_queue(Scsi_Cmnd * cmd, void (*scsi_done) (Scsi_Cmnd *))
|
||||||
dev->flags |= AHD_DEV_ON_RUN_LIST;
|
dev->flags |= AHD_DEV_ON_RUN_LIST;
|
||||||
ahd_linux_run_device_queues(ahd);
|
ahd_linux_run_device_queues(ahd);
|
||||||
}
|
}
|
||||||
ahd_unlock(ahd, &flags);
|
ahd_midlayer_entrypoint_unlock(ahd, &flags);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue