[PATCH 2/2] wifi: ray_cs: add sanity check on local->sram/rmem/amem

From: Dongliang Mu
Date: Mon Mar 13 2023 - 03:01:56 EST


The ray_config uses ray_release as its unified error handling function.
However, it does not know if local->sram/rmem/amem succeeds or not.

Fix this by adding sanity check on local->sram/rmem/amem in the
ray_relase.

Signed-off-by: Dongliang Mu <dzm91@xxxxxxxxxxx>
---
drivers/net/wireless/ray_cs.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ray_cs.c b/drivers/net/wireless/ray_cs.c
index 785a5be72b2b..47d9c71b63b5 100644
--- a/drivers/net/wireless/ray_cs.c
+++ b/drivers/net/wireless/ray_cs.c
@@ -733,9 +733,12 @@ static void ray_release(struct pcmcia_device *link)

del_timer_sync(&local->timer);

- iounmap(local->sram);
- iounmap(local->rmem);
- iounmap(local->amem);
+ if (local->sram)
+ iounmap(local->sram);
+ if (local->rmem)
+ iounmap(local->rmem);
+ if (local->amem)
+ iounmap(local->amem);
pcmcia_disable_device(link);

dev_dbg(&link->dev, "ray_release ending\n");
--
2.39.2