|
@@ -1022,7 +1022,7 @@ static void arcmsr_remove(struct pci_dev *pdev)
|
|
|
int poll_count = 0;
|
|
|
arcmsr_free_sysfs_attr(acb);
|
|
|
scsi_remove_host(host);
|
|
|
- flush_scheduled_work();
|
|
|
+ flush_work_sync(&acb->arcmsr_do_message_isr_bh);
|
|
|
del_timer_sync(&acb->eternal_timer);
|
|
|
arcmsr_disable_outbound_ints(acb);
|
|
|
arcmsr_stop_adapter_bgrb(acb);
|
|
@@ -1068,7 +1068,7 @@ static void arcmsr_shutdown(struct pci_dev *pdev)
|
|
|
(struct AdapterControlBlock *)host->hostdata;
|
|
|
del_timer_sync(&acb->eternal_timer);
|
|
|
arcmsr_disable_outbound_ints(acb);
|
|
|
- flush_scheduled_work();
|
|
|
+ flush_work_sync(&acb->arcmsr_do_message_isr_bh);
|
|
|
arcmsr_stop_adapter_bgrb(acb);
|
|
|
arcmsr_flush_adapter_cache(acb);
|
|
|
}
|