diff options
Diffstat (limited to 'drivers/net/wireless/libertas/cmdresp.c')
-rw-r--r-- | drivers/net/wireless/libertas/cmdresp.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c index d90279269e7b..577c434089b0 100644 --- a/drivers/net/wireless/libertas/cmdresp.c +++ b/drivers/net/wireless/libertas/cmdresp.c | |||
@@ -430,21 +430,18 @@ static int wlan_ret_802_11_data_rate(wlan_private * priv, | |||
430 | { | 430 | { |
431 | struct cmd_ds_802_11_data_rate *pdatarate = &resp->params.drate; | 431 | struct cmd_ds_802_11_data_rate *pdatarate = &resp->params.drate; |
432 | wlan_adapter *adapter = priv->adapter; | 432 | wlan_adapter *adapter = priv->adapter; |
433 | u8 dot11datarate; | ||
434 | 433 | ||
435 | lbs_deb_enter(LBS_DEB_CMD); | 434 | lbs_deb_enter(LBS_DEB_CMD); |
436 | 435 | ||
437 | lbs_dbg_hex("DATA_RATE_RESP: data_rate- ", | 436 | lbs_dbg_hex("DATA_RATE_RESP: data_rate- ", (u8 *) pdatarate, |
438 | (u8 *) pdatarate, sizeof(struct cmd_ds_802_11_data_rate)); | 437 | sizeof(struct cmd_ds_802_11_data_rate)); |
439 | 438 | ||
440 | dot11datarate = pdatarate->datarate[0]; | 439 | /* FIXME: get actual rates FW can do if this command actually returns |
441 | if (pdatarate->action == cpu_to_le16(CMD_ACT_GET_TX_RATE)) { | 440 | * all data rates supported. |
442 | memcpy(adapter->libertas_supported_rates, pdatarate->datarate, | 441 | */ |
443 | sizeof(adapter->libertas_supported_rates)); | 442 | adapter->cur_rate = libertas_fw_index_to_data_rate(pdatarate->rates[0]); |
444 | } | ||
445 | adapter->datarate = libertas_index_to_data_rate(dot11datarate); | ||
446 | 443 | ||
447 | lbs_deb_enter(LBS_DEB_CMD); | 444 | lbs_deb_leave(LBS_DEB_CMD); |
448 | return 0; | 445 | return 0; |
449 | } | 446 | } |
450 | 447 | ||