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-03 08:50:28 +0300
commit6f8688bf299b35b5d585a96fa670ea257257fbd3 (patch)
tree5bcfb9b5325924fbc9e99b3b4efcec012c7ad251
parent852feed35dcdec8521c2f3227545ad2a187a2b3b (diff)
downloadlinux-6f8688bf299b35b5d585a96fa670ea257257fbd3.tar.xz
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 f8a1fea64e25..219d1a86b92e 100644
--- a/drivers/net/wireless/ti/wlcore/sdio.c
+++ b/drivers/net/wireless/ti/wlcore/sdio.c
@@ -406,6 +406,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);