summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEyal Reizer <eyalreizer@gmail.com>2018-05-28 11:36:42 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-08-09 12:20:26 +0200
commit8362d3e90c1105380b4b2b1bd232a638e3f3f807 (patch)
tree04e4303ad65f50d58e16c69081de1dfee4681b54
parentcb0d96f440671ac822e5301e64adea817276d18b (diff)
wlcore: sdio: check for valid platform device data before suspend
[ Upstream commit 6e91d48371e79862ea2c05867aaebe4afe55a865 ] the wl pointer can be null In case only wlcore_sdio is probed while no WiLink module is successfully probed, as in the case of mounting a wl12xx module while using a device tree file configured with wl18xx related settings. In this case the system was crashing in wl1271_suspend() as platform device data is not set. Make sure wl the pointer is valid before using it. Signed-off-by: Eyal Reizer <eyalr@ti.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/net/wireless/ti/wlcore/sdio.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/ti/wlcore/sdio.c b/drivers/net/wireless/ti/wlcore/sdio.c
index d3dd7bfdf3f1f..63b55b2261e55 100644
--- a/drivers/net/wireless/ti/wlcore/sdio.c
+++ b/drivers/net/wireless/ti/wlcore/sdio.c
@@ -342,6 +342,11 @@ static int wl1271_suspend(struct device *dev)
mmc_pm_flag_t sdio_flags;
int ret = 0;
+ if (!wl) {
+ dev_err(dev, "no wilink module was probed\n");
+ goto out;
+ }
+
dev_dbg(dev, "wl1271 suspend. wow_enabled: %d\n",
wl->wow_enabled);