From b0f1836fadc89dd5629021cfc4ab72ef9f2bfcb3 Mon Sep 17 00:00:00 2001 From: Leo Kim Date: Fri, 1 Apr 2016 17:44:19 +0900 Subject: [PATCH] staging: wilc1000: adds a check routine when performed del_key() 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 Signed-off-by: Greg Kroah-Hartman --- 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 1ac835becc9d..85031f75d7ee 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); } -- 2.11.0