iwmc3200wifi: fix potential kernel oops on module removal
authorZhu Yi <yi.zhu@intel.com>
Mon, 15 Jun 2009 19:59:48 +0000 (21:59 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 19 Jun 2009 15:50:16 +0000 (11:50 -0400)
commit4e9aa52e36a7beb4c0163324a3de759d7cf2e442
treec8dd577dd48b8ab7402557e1b2ecdfac2ef8d002
parentd7e057dca3f1b76ff44dd16fefcd493a52614aad
iwmc3200wifi: fix potential kernel oops on module removal

The iwm_if_free() is called before destroy_workqueue for isr_wq on
device remove method. But if there is still some pending work in
the isr_wq, the required data structures are already freed at this
point. This leeds a kernel oops. The patch fixes this problem by
moving iwm_if_free after destroy_workqueue.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwmc3200wifi/sdio.c