diff options
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 6285c9c2eaf0..3c1b43356adb 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -2227,6 +2227,9 @@ qla2x00_do_dpc(void *data) | |||
2227 | fc_port_t *fcport; | 2227 | fc_port_t *fcport; |
2228 | uint8_t status; | 2228 | uint8_t status; |
2229 | uint16_t next_loopid; | 2229 | uint16_t next_loopid; |
2230 | struct scsi_qla_host *vha; | ||
2231 | int i; | ||
2232 | |||
2230 | 2233 | ||
2231 | ha = (scsi_qla_host_t *)data; | 2234 | ha = (scsi_qla_host_t *)data; |
2232 | 2235 | ||
@@ -2269,6 +2272,18 @@ qla2x00_do_dpc(void *data) | |||
2269 | } | 2272 | } |
2270 | clear_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags); | 2273 | clear_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags); |
2271 | } | 2274 | } |
2275 | |||
2276 | for_each_mapped_vp_idx(ha, i) { | ||
2277 | list_for_each_entry(vha, &ha->vp_list, | ||
2278 | vp_list) { | ||
2279 | if (i == vha->vp_idx) { | ||
2280 | set_bit(ISP_ABORT_NEEDED, | ||
2281 | &vha->dpc_flags); | ||
2282 | break; | ||
2283 | } | ||
2284 | } | ||
2285 | } | ||
2286 | |||
2272 | DEBUG(printk("scsi(%ld): dpc: qla2x00_abort_isp end\n", | 2287 | DEBUG(printk("scsi(%ld): dpc: qla2x00_abort_isp end\n", |
2273 | ha->host_no)); | 2288 | ha->host_no)); |
2274 | } | 2289 | } |