diff options
Diffstat (limited to 'drivers/message')
-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 | ||