This patch is adds a check routine when performed del_key().
We was find this situation while test the 'rmmod sdio'.
That is received inform a .del_key cmd from cfg80211.
If is not exist wep keys, must be ignore a wilc_remove_wep_key() function.
Thus, adds a check routine that key length of wep.

Signed-off-by: Leo Kim <leo....@atmel.com>
---
 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c 
b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
index 1ac835b..85031f7 100644
--- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
+++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
@@ -1122,9 +1122,12 @@ static int del_key(struct wiphy *wiphy, struct 
net_device *netdev,
        }
 
        if (key_index >= 0 && key_index <= 3) {
-               memset(priv->WILC_WFI_wep_key[key_index], 0, 
priv->WILC_WFI_wep_key_len[key_index]);
-               priv->WILC_WFI_wep_key_len[key_index] = 0;
-               wilc_remove_wep_key(vif, key_index);
+               if (priv->WILC_WFI_wep_key_len[key_index]) {
+                       memset(priv->WILC_WFI_wep_key[key_index], 0,
+                              priv->WILC_WFI_wep_key_len[key_index]);
+                       priv->WILC_WFI_wep_key_len[key_index] = 0;
+                       wilc_remove_wep_key(vif, key_index);
+               }
        } else {
                wilc_remove_key(priv->hif_drv, mac_addr);
        }
-- 
1.9.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to