diff options
| -rw-r--r-- | drivers/message/fusion/mptsas.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index 02a18dfcd52a..83873e3d0ce7 100644 --- a/drivers/message/fusion/mptsas.c +++ b/drivers/message/fusion/mptsas.c | |||
| @@ -325,7 +325,6 @@ mptsas_cleanup_fw_event_q(MPT_ADAPTER *ioc) | |||
| 325 | { | 325 | { |
| 326 | struct fw_event_work *fw_event, *next; | 326 | struct fw_event_work *fw_event, *next; |
| 327 | struct mptsas_target_reset_event *target_reset_list, *n; | 327 | struct mptsas_target_reset_event *target_reset_list, *n; |
| 328 | u8 flush_q; | ||
| 329 | MPT_SCSI_HOST *hd = shost_priv(ioc->sh); | 328 | MPT_SCSI_HOST *hd = shost_priv(ioc->sh); |
| 330 | 329 | ||
| 331 | /* flush the target_reset_list */ | 330 | /* flush the target_reset_list */ |
| @@ -345,15 +344,10 @@ mptsas_cleanup_fw_event_q(MPT_ADAPTER *ioc) | |||
| 345 | !ioc->fw_event_q || in_interrupt()) | 344 | !ioc->fw_event_q || in_interrupt()) |
| 346 | return; | 345 | return; |
| 347 | 346 | ||
| 348 | flush_q = 0; | ||
| 349 | list_for_each_entry_safe(fw_event, next, &ioc->fw_event_list, list) { | 347 | list_for_each_entry_safe(fw_event, next, &ioc->fw_event_list, list) { |
| 350 | if (cancel_delayed_work(&fw_event->work)) | 348 | if (cancel_delayed_work(&fw_event->work)) |
| 351 | mptsas_free_fw_event(ioc, fw_event); | 349 | mptsas_free_fw_event(ioc, fw_event); |
| 352 | else | ||
| 353 | flush_q = 1; | ||
| 354 | } | 350 | } |
| 355 | if (flush_q) | ||
| 356 | flush_workqueue(ioc->fw_event_q); | ||
| 357 | } | 351 | } |
| 358 | 352 | ||
| 359 | 353 | ||
| @@ -1279,7 +1273,6 @@ mptsas_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) | |||
| 1279 | } | 1273 | } |
| 1280 | mptsas_cleanup_fw_event_q(ioc); | 1274 | mptsas_cleanup_fw_event_q(ioc); |
| 1281 | mptsas_queue_rescan(ioc); | 1275 | mptsas_queue_rescan(ioc); |
| 1282 | mptsas_fw_event_on(ioc); | ||
| 1283 | break; | 1276 | break; |
| 1284 | default: | 1277 | default: |
| 1285 | break; | 1278 | break; |
| @@ -1599,6 +1592,7 @@ mptsas_firmware_event_work(struct work_struct *work) | |||
| 1599 | mptsas_scan_sas_topology(ioc); | 1592 | mptsas_scan_sas_topology(ioc); |
| 1600 | ioc->in_rescan = 0; | 1593 | ioc->in_rescan = 0; |
| 1601 | mptsas_free_fw_event(ioc, fw_event); | 1594 | mptsas_free_fw_event(ioc, fw_event); |
| 1595 | mptsas_fw_event_on(ioc); | ||
| 1602 | return; | 1596 | return; |
| 1603 | } | 1597 | } |
| 1604 | 1598 | ||
