From: Eyal Reizer Date: Mon, 28 May 2018 08:36:42 +0000 (+0300) Subject: wlcore: sdio: check for valid platform device data before suspend X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=6e91d48371e79862ea2c05867aaebe4afe55a865;p=openwrt%2Fstaging%2Fblogic.git wlcore: sdio: check for valid platform device data before suspend 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 Signed-off-by: Kalle Valo --- diff --git a/drivers/net/wireless/ti/wlcore/sdio.c b/drivers/net/wireless/ti/wlcore/sdio.c index 15d5ac126061..750bea3574ee 100644 --- a/drivers/net/wireless/ti/wlcore/sdio.c +++ b/drivers/net/wireless/ti/wlcore/sdio.c @@ -399,6 +399,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);