diff options
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/iwmc3200wifi/cfg80211.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwmc3200wifi/cfg80211.c b/drivers/net/wireless/iwmc3200wifi/cfg80211.c index ed57e440280..c42be81e979 100644 --- a/drivers/net/wireless/iwmc3200wifi/cfg80211.c +++ b/drivers/net/wireless/iwmc3200wifi/cfg80211.c | |||
@@ -187,13 +187,17 @@ static int iwm_cfg80211_get_key(struct wiphy *wiphy, struct net_device *ndev, | |||
187 | struct key_params*)) | 187 | struct key_params*)) |
188 | { | 188 | { |
189 | struct iwm_priv *iwm = ndev_to_iwm(ndev); | 189 | struct iwm_priv *iwm = ndev_to_iwm(ndev); |
190 | struct iwm_key *key = &iwm->keys[key_index]; | 190 | struct iwm_key *key; |
191 | struct key_params params; | 191 | struct key_params params; |
192 | 192 | ||
193 | IWM_DBG_WEXT(iwm, DBG, "Getting key %d\n", key_index); | 193 | IWM_DBG_WEXT(iwm, DBG, "Getting key %d\n", key_index); |
194 | 194 | ||
195 | if (key_index >= IWM_NUM_KEYS) | ||
196 | return -ENOENT; | ||
197 | |||
195 | memset(¶ms, 0, sizeof(params)); | 198 | memset(¶ms, 0, sizeof(params)); |
196 | 199 | ||
200 | key = &iwm->keys[key_index]; | ||
197 | params.cipher = key->cipher; | 201 | params.cipher = key->cipher; |
198 | params.key_len = key->key_len; | 202 | params.key_len = key->key_len; |
199 | params.seq_len = key->seq_len; | 203 | params.seq_len = key->seq_len; |