mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-12 14:52:14 +00:00
[SCSI] bnx2fc: fix panic in bnx2fc_post_io_req
System panics while accessing stale pointer - timer_work_queue - in the IO path before bnx2fc_stop is called. Fix is to destroy the workqueue after the destroy operation is complete. Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
9f71af2feb
commit
2a7b29c5f2
@ -1537,6 +1537,7 @@ static void __bnx2fc_destroy(struct bnx2fc_interface *interface)
|
||||
static int bnx2fc_destroy(struct net_device *netdev)
|
||||
{
|
||||
struct bnx2fc_interface *interface = NULL;
|
||||
struct workqueue_struct *timer_work_queue;
|
||||
int rc = 0;
|
||||
|
||||
rtnl_lock();
|
||||
@ -1549,9 +1550,9 @@ static int bnx2fc_destroy(struct net_device *netdev)
|
||||
goto netdev_err;
|
||||
}
|
||||
|
||||
|
||||
destroy_workqueue(interface->timer_work_queue);
|
||||
timer_work_queue = interface->timer_work_queue;
|
||||
__bnx2fc_destroy(interface);
|
||||
destroy_workqueue(timer_work_queue);
|
||||
|
||||
netdev_err:
|
||||
mutex_unlock(&bnx2fc_dev_lock);
|
||||
|
Loading…
x
Reference in New Issue
Block a user