diff options
Diffstat (limited to 'drivers/scsi/scsi_error.c')
-rw-r--r-- | drivers/scsi/scsi_error.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c index f4da56a79ff6..0c5b02d4c7f8 100644 --- a/drivers/scsi/scsi_error.c +++ b/drivers/scsi/scsi_error.c | |||
@@ -1033,7 +1033,8 @@ static int scsi_try_bus_reset(struct scsi_cmnd *scmd) | |||
1033 | if (!scmd->device->host->hostt->skip_settle_delay) | 1033 | if (!scmd->device->host->hostt->skip_settle_delay) |
1034 | ssleep(BUS_RESET_SETTLE_TIME); | 1034 | ssleep(BUS_RESET_SETTLE_TIME); |
1035 | spin_lock_irqsave(scmd->device->host->host_lock, flags); | 1035 | spin_lock_irqsave(scmd->device->host->host_lock, flags); |
1036 | scsi_report_bus_reset(scmd->device->host, scmd->device->channel); | 1036 | scsi_report_bus_reset(scmd->device->host, |
1037 | scmd_channel(scmd)); | ||
1037 | spin_unlock_irqrestore(scmd->device->host->host_lock, flags); | 1038 | spin_unlock_irqrestore(scmd->device->host->host_lock, flags); |
1038 | } | 1039 | } |
1039 | 1040 | ||
@@ -1061,7 +1062,8 @@ static int scsi_try_host_reset(struct scsi_cmnd *scmd) | |||
1061 | if (!scmd->device->host->hostt->skip_settle_delay) | 1062 | if (!scmd->device->host->hostt->skip_settle_delay) |
1062 | ssleep(HOST_RESET_SETTLE_TIME); | 1063 | ssleep(HOST_RESET_SETTLE_TIME); |
1063 | spin_lock_irqsave(scmd->device->host->host_lock, flags); | 1064 | spin_lock_irqsave(scmd->device->host->host_lock, flags); |
1064 | scsi_report_bus_reset(scmd->device->host, scmd->device->channel); | 1065 | scsi_report_bus_reset(scmd->device->host, |
1066 | scmd_channel(scmd)); | ||
1065 | spin_unlock_irqrestore(scmd->device->host->host_lock, flags); | 1067 | spin_unlock_irqrestore(scmd->device->host->host_lock, flags); |
1066 | } | 1068 | } |
1067 | 1069 | ||
@@ -1091,7 +1093,7 @@ static int scsi_eh_bus_reset(struct Scsi_Host *shost, | |||
1091 | for (channel = 0; channel <= shost->max_channel; channel++) { | 1093 | for (channel = 0; channel <= shost->max_channel; channel++) { |
1092 | chan_scmd = NULL; | 1094 | chan_scmd = NULL; |
1093 | list_for_each_entry(scmd, work_q, eh_entry) { | 1095 | list_for_each_entry(scmd, work_q, eh_entry) { |
1094 | if (channel == scmd->device->channel) { | 1096 | if (channel == scmd_channel(scmd)) { |
1095 | chan_scmd = scmd; | 1097 | chan_scmd = scmd; |
1096 | break; | 1098 | break; |
1097 | /* | 1099 | /* |
@@ -1109,7 +1111,7 @@ static int scsi_eh_bus_reset(struct Scsi_Host *shost, | |||
1109 | rtn = scsi_try_bus_reset(chan_scmd); | 1111 | rtn = scsi_try_bus_reset(chan_scmd); |
1110 | if (rtn == SUCCESS) { | 1112 | if (rtn == SUCCESS) { |
1111 | list_for_each_entry_safe(scmd, next, work_q, eh_entry) { | 1113 | list_for_each_entry_safe(scmd, next, work_q, eh_entry) { |
1112 | if (channel == scmd->device->channel) | 1114 | if (channel == scmd_channel(scmd)) |
1113 | if (!scsi_device_online(scmd->device) || | 1115 | if (!scsi_device_online(scmd->device) || |
1114 | !scsi_eh_tur(scmd)) | 1116 | !scsi_eh_tur(scmd)) |
1115 | scsi_eh_finish_cmd(scmd, | 1117 | scsi_eh_finish_cmd(scmd, |
@@ -1675,7 +1677,7 @@ void scsi_report_bus_reset(struct Scsi_Host *shost, int channel) | |||
1675 | struct scsi_device *sdev; | 1677 | struct scsi_device *sdev; |
1676 | 1678 | ||
1677 | __shost_for_each_device(sdev, shost) { | 1679 | __shost_for_each_device(sdev, shost) { |
1678 | if (channel == sdev->channel) { | 1680 | if (channel == sdev_channel(sdev)) { |
1679 | sdev->was_reset = 1; | 1681 | sdev->was_reset = 1; |
1680 | sdev->expecting_cc_ua = 1; | 1682 | sdev->expecting_cc_ua = 1; |
1681 | } | 1683 | } |
@@ -1710,8 +1712,8 @@ void scsi_report_device_reset(struct Scsi_Host *shost, int channel, int target) | |||
1710 | struct scsi_device *sdev; | 1712 | struct scsi_device *sdev; |
1711 | 1713 | ||
1712 | __shost_for_each_device(sdev, shost) { | 1714 | __shost_for_each_device(sdev, shost) { |
1713 | if (channel == sdev->channel && | 1715 | if (channel == sdev_channel(sdev) && |
1714 | target == sdev->id) { | 1716 | target == sdev_id(sdev)) { |
1715 | sdev->was_reset = 1; | 1717 | sdev->was_reset = 1; |
1716 | sdev->expecting_cc_ua = 1; | 1718 | sdev->expecting_cc_ua = 1; |
1717 | } | 1719 | } |