diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_attr.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_attr.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c index 90d1e062ec4f..1c7ef55966fb 100644 --- a/drivers/scsi/qla2xxx/qla_attr.c +++ b/drivers/scsi/qla2xxx/qla_attr.c | |||
@@ -8,6 +8,7 @@ | |||
8 | 8 | ||
9 | #include <linux/kthread.h> | 9 | #include <linux/kthread.h> |
10 | #include <linux/vmalloc.h> | 10 | #include <linux/vmalloc.h> |
11 | #include <linux/slab.h> | ||
11 | #include <linux/delay.h> | 12 | #include <linux/delay.h> |
12 | 13 | ||
13 | static int qla24xx_vport_disable(struct fc_vport *, bool); | 14 | static int qla24xx_vport_disable(struct fc_vport *, bool); |
@@ -1274,7 +1275,11 @@ qla2x00_fw_state_show(struct device *dev, struct device_attribute *attr, | |||
1274 | int rval = QLA_FUNCTION_FAILED; | 1275 | int rval = QLA_FUNCTION_FAILED; |
1275 | uint16_t state[5]; | 1276 | uint16_t state[5]; |
1276 | 1277 | ||
1277 | if (!vha->hw->flags.eeh_busy) | 1278 | if (test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags) || |
1279 | test_bit(ISP_ABORT_NEEDED, &vha->dpc_flags)) | ||
1280 | DEBUG2_3_11(printk("%s(%ld): isp reset in progress.\n", | ||
1281 | __func__, vha->host_no)); | ||
1282 | else if (!vha->hw->flags.eeh_busy) | ||
1278 | rval = qla2x00_get_firmware_state(vha, state); | 1283 | rval = qla2x00_get_firmware_state(vha, state); |
1279 | if (rval != QLA_SUCCESS) | 1284 | if (rval != QLA_SUCCESS) |
1280 | memset(state, -1, sizeof(state)); | 1285 | memset(state, -1, sizeof(state)); |
@@ -2388,6 +2393,7 @@ qla24xx_bsg_timeout(struct fc_bsg_job *bsg_job) | |||
2388 | return 0; | 2393 | return 0; |
2389 | 2394 | ||
2390 | done: | 2395 | done: |
2396 | spin_unlock_irqrestore(&ha->hardware_lock, flags); | ||
2391 | if (bsg_job->request->msgcode == FC_BSG_HST_CT) | 2397 | if (bsg_job->request->msgcode == FC_BSG_HST_CT) |
2392 | kfree(sp->fcport); | 2398 | kfree(sp->fcport); |
2393 | kfree(sp->ctx); | 2399 | kfree(sp->ctx); |