summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/marvell/mwifiex/sdio.c
diff options
context:
space:
mode:
authorBrian Norris <briannorris@chromium.org>2018-01-13 00:08:36 +0300
committerKalle Valo <kvalo@codeaurora.org>2018-01-16 19:00:16 +0300
commit7e34c0d2f631a1ecd4a0a6973502fff72343487e (patch)
treeb3946210981ba102373c30a71c0dc28f2b0d5593 /drivers/net/wireless/marvell/mwifiex/sdio.c
parent7e2c49222b4e26590d68578ec8fec0988859c218 (diff)
downloadlinux-7e34c0d2f631a1ecd4a0a6973502fff72343487e.tar.xz
Revert "mwifiex: cancel pcie/sdio work in remove/shutdown handler"
This reverts commit b713bbf1471b56b572ce26bd02b81a85c2b007f4. The "fix" in question does not actually fix all related problems, and it also introduces new deadlock possibilities. Since commit b014e96d1abb ("PCI: Protect pci_error_handlers->reset_notify() usage with device_lock()"), the race in question is actually resolved (PCIe reset cannot happen at the same time as remove()). Instead, this "fix" just introduces a deadlock where mwifiex_pcie_card_reset_work() is waiting on device_lock, which is held by PCIe device remove(), which is waiting on...mwifiex_pcie_card_reset_work(). The proper thing to do is just to fix the deadlock. Patch for this will come separately. Cc: Signed-off-by: Xinming Hu <huxm@marvell.com> Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/marvell/mwifiex/sdio.c')
-rw-r--r--drivers/net/wireless/marvell/mwifiex/sdio.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/net/wireless/marvell/mwifiex/sdio.c b/drivers/net/wireless/marvell/mwifiex/sdio.c
index 248858723753..a82880132af4 100644
--- a/drivers/net/wireless/marvell/mwifiex/sdio.c
+++ b/drivers/net/wireless/marvell/mwifiex/sdio.c
@@ -399,8 +399,6 @@ mwifiex_sdio_remove(struct sdio_func *func)
mwifiex_init_shutdown_fw(priv, MWIFIEX_FUNC_SHUTDOWN);
}
- cancel_work_sync(&card->work);
-
mwifiex_remove_card(adapter);
}