2018-05-24 11:35:45

by Eyal Reizer

[permalink] [raw]
Subject: [PATCH] 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 <[email protected]>mamai
---
drivers/net/wireless/ti/wlcore/sdio.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/net/wireless/ti/wlcore/sdio.c b/drivers/net/wireless/ti/wlcore/sdio.c
index da701cd..aec6225 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);

--
2.7.4


2018-05-24 14:24:43

by Tony Lindgren

[permalink] [raw]
Subject: Re: [PATCH] wlcore: sdio: check for valid platform device data before suspend

* Eyal Reizer <[email protected]> [180524 11:38]:
> 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.

Just checking.. It seems like this fix is separate from the PM
runtime conversion, right?

> Signed-off-by: Eyal Reizer <[email protected]>mamai

Looks like you have some extra characters ^^^^^ here.

Regards,

Tony

2018-05-28 08:20:22

by Reizer, Eyal

[permalink] [raw]
Subject: RE: [EXTERNAL] Re: [PATCH] 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.
>=20
> Just checking.. It seems like this fix is separate from the PM
> runtime conversion, right?

Correct. This is a separate patch/
>=20
> > Signed-off-by: Eyal Reizer <[email protected]>mamai
>=20
> Looks like you have some extra characters ^^^^^ here.
>=20
Thanks!. Will fix and submit v2

Best Regards,
Eyal