diff options
author | David Woodhouse <dwmw2@infradead.org> | 2008-03-03 06:15:39 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-03-06 17:09:48 -0500 |
commit | 9e1228d00a8e959dd3f4d0bd7949fda1ce11b314 (patch) | |
tree | 686cd8d7a7d759ed81767098064fbf6e1e6565cf /drivers/net/wireless/libertas/cmdresp.c | |
parent | 17744ff6ae7eafe33dac9772f2ef9ab5fb738db8 (diff) |
libertas: convert KEY_MATERIAL to a direct command
The struct enc_key probably wants to die too, but that can come later.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/cmdresp.c')
-rw-r--r-- | drivers/net/wireless/libertas/cmdresp.c | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c index 5d90b83f28eb..b96fe58ec495 100644 --- a/drivers/net/wireless/libertas/cmdresp.c +++ b/drivers/net/wireless/libertas/cmdresp.c | |||
@@ -204,61 +204,6 @@ static int lbs_ret_802_11_snmp_mib(struct lbs_private *priv, | |||
204 | return 0; | 204 | return 0; |
205 | } | 205 | } |
206 | 206 | ||
207 | static int lbs_ret_802_11_key_material(struct lbs_private *priv, | ||
208 | struct cmd_ds_command *resp) | ||
209 | { | ||
210 | struct cmd_ds_802_11_key_material *pkeymaterial = | ||
211 | &resp->params.keymaterial; | ||
212 | u16 action = le16_to_cpu(pkeymaterial->action); | ||
213 | |||
214 | lbs_deb_enter(LBS_DEB_CMD); | ||
215 | |||
216 | /* Copy the returned key to driver private data */ | ||
217 | if (action == CMD_ACT_GET) { | ||
218 | u8 * buf_ptr = (u8 *) &pkeymaterial->keyParamSet; | ||
219 | u8 * resp_end = (u8 *) (resp + le16_to_cpu(resp->size)); | ||
220 | |||
221 | while (buf_ptr < resp_end) { | ||
222 | struct MrvlIEtype_keyParamSet * pkeyparamset = | ||
223 | (struct MrvlIEtype_keyParamSet *) buf_ptr; | ||
224 | struct enc_key * pkey; | ||
225 | u16 param_set_len = le16_to_cpu(pkeyparamset->length); | ||
226 | u16 key_len = le16_to_cpu(pkeyparamset->keylen); | ||
227 | u16 key_flags = le16_to_cpu(pkeyparamset->keyinfo); | ||
228 | u16 key_type = le16_to_cpu(pkeyparamset->keytypeid); | ||
229 | u8 * end; | ||
230 | |||
231 | end = (u8 *) pkeyparamset + sizeof (pkeyparamset->type) | ||
232 | + sizeof (pkeyparamset->length) | ||
233 | + param_set_len; | ||
234 | /* Make sure we don't access past the end of the IEs */ | ||
235 | if (end > resp_end) | ||
236 | break; | ||
237 | |||
238 | if (key_flags & KEY_INFO_WPA_UNICAST) | ||
239 | pkey = &priv->wpa_unicast_key; | ||
240 | else if (key_flags & KEY_INFO_WPA_MCAST) | ||
241 | pkey = &priv->wpa_mcast_key; | ||
242 | else | ||
243 | break; | ||
244 | |||
245 | /* Copy returned key into driver */ | ||
246 | memset(pkey, 0, sizeof(struct enc_key)); | ||
247 | if (key_len > sizeof(pkey->key)) | ||
248 | break; | ||
249 | pkey->type = key_type; | ||
250 | pkey->flags = key_flags; | ||
251 | pkey->len = key_len; | ||
252 | memcpy(pkey->key, pkeyparamset->key, pkey->len); | ||
253 | |||
254 | buf_ptr = end + 1; | ||
255 | } | ||
256 | } | ||
257 | |||
258 | lbs_deb_enter(LBS_DEB_CMD); | ||
259 | return 0; | ||
260 | } | ||
261 | |||
262 | static int lbs_ret_802_11_mac_address(struct lbs_private *priv, | 207 | static int lbs_ret_802_11_mac_address(struct lbs_private *priv, |
263 | struct cmd_ds_command *resp) | 208 | struct cmd_ds_command *resp) |
264 | { | 209 | { |
@@ -475,10 +420,6 @@ static inline int handle_cmd_response(struct lbs_private *priv, | |||
475 | ret = lbs_ret_80211_ad_hoc_stop(priv, resp); | 420 | ret = lbs_ret_80211_ad_hoc_stop(priv, resp); |
476 | break; | 421 | break; |
477 | 422 | ||
478 | case CMD_RET(CMD_802_11_KEY_MATERIAL): | ||
479 | ret = lbs_ret_802_11_key_material(priv, resp); | ||
480 | break; | ||
481 | |||
482 | case CMD_RET(CMD_802_11_EEPROM_ACCESS): | 423 | case CMD_RET(CMD_802_11_EEPROM_ACCESS): |
483 | ret = lbs_ret_802_11_eeprom_access(priv, resp); | 424 | ret = lbs_ret_802_11_eeprom_access(priv, resp); |
484 | break; | 425 | break; |