summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/legacy
diff options
context:
space:
mode:
authorDongliang Mu <dzm91@hust.edu.cn>2023-03-16 16:32:36 +0300
committerKalle Valo <kvalo@kernel.org>2023-05-27 11:30:31 +0300
commit072210c725c4938682e58236eeeb19a2ddd0b817 (patch)
tree1916ab0f10f424fc5f632dbbca46768313ea8660 /drivers/net/wireless/legacy
parentdaef020558bc34e8031263aa7cf9e803d709f93a (diff)
downloadlinux-072210c725c4938682e58236eeeb19a2ddd0b817.tar.xz
wifi: ray_cs: add sanity check on local->sram/rmem/amem
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@hust.edu.cn> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20230316133236.556198-3-dzm91@hust.edu.cn
Diffstat (limited to 'drivers/net/wireless/legacy')
-rw-r--r--drivers/net/wireless/legacy/ray_cs.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/wireless/legacy/ray_cs.c b/drivers/net/wireless/legacy/ray_cs.c
index 93eaf3dba6a9..4b53a9c70e7e 100644
--- a/drivers/net/wireless/legacy/ray_cs.c
+++ b/drivers/net/wireless/legacy/ray_cs.c
@@ -738,9 +738,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");