When prism2_hw_config() fails, we just return an error code
without any resource release, which may lead to memleak.

Signed-off-by: Dinghao Liu <dinghao....@zju.edu.cn>
---
 drivers/net/wireless/intersil/hostap/hostap_cs.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/intersil/hostap/hostap_cs.c 
b/drivers/net/wireless/intersil/hostap/hostap_cs.c
index ec7db2badc40..7dc16ab50ad6 100644
--- a/drivers/net/wireless/intersil/hostap/hostap_cs.c
+++ b/drivers/net/wireless/intersil/hostap/hostap_cs.c
@@ -536,10 +536,10 @@ static int prism2_config(struct pcmcia_device *link)
        sandisk_enable_wireless(dev);
 
        ret = prism2_hw_config(dev, 1);
-       if (!ret)
-               ret = hostap_hw_ready(dev);
+       if (ret)
+               goto failed;
 
-       return ret;
+       return hostap_hw_ready(dev);;
 
  failed:
        kfree(hw_priv);
-- 
2.17.1

Reply via email to