diff options
-rw-r--r-- | drivers/net/wireless/libertas/assoc.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/libertas/cmd.c | 16 | ||||
-rw-r--r-- | drivers/net/wireless/libertas/cmdresp.c | 18 | ||||
-rw-r--r-- | drivers/net/wireless/libertas/dev.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/libertas/hostcmd.h | 3 | ||||
-rw-r--r-- | drivers/net/wireless/libertas/wext.c | 14 |
6 files changed, 10 insertions, 47 deletions
diff --git a/drivers/net/wireless/libertas/assoc.c b/drivers/net/wireless/libertas/assoc.c index fcea2a124a56..95d98203eb4e 100644 --- a/drivers/net/wireless/libertas/assoc.c +++ b/drivers/net/wireless/libertas/assoc.c | |||
@@ -624,10 +624,6 @@ void lbs_association_worker(struct work_struct *work) | |||
624 | lbs_prepare_and_send_command(priv, | 624 | lbs_prepare_and_send_command(priv, |
625 | CMD_802_11_RSSI, | 625 | CMD_802_11_RSSI, |
626 | 0, CMD_OPTION_WAITFORRSP, 0, NULL); | 626 | 0, CMD_OPTION_WAITFORRSP, 0, NULL); |
627 | |||
628 | lbs_prepare_and_send_command(priv, | ||
629 | CMD_802_11_GET_LOG, | ||
630 | 0, CMD_OPTION_WAITFORRSP, 0, NULL); | ||
631 | } else { | 627 | } else { |
632 | ret = -1; | 628 | ret = -1; |
633 | } | 629 | } |
diff --git a/drivers/net/wireless/libertas/cmd.c b/drivers/net/wireless/libertas/cmd.c index be8a170b633f..5e35788946f1 100644 --- a/drivers/net/wireless/libertas/cmd.c +++ b/drivers/net/wireless/libertas/cmd.c | |||
@@ -494,18 +494,6 @@ static int lbs_cmd_802_11_reset(struct lbs_private *priv, | |||
494 | return 0; | 494 | return 0; |
495 | } | 495 | } |
496 | 496 | ||
497 | static int lbs_cmd_802_11_get_log(struct lbs_private *priv, | ||
498 | struct cmd_ds_command *cmd) | ||
499 | { | ||
500 | lbs_deb_enter(LBS_DEB_CMD); | ||
501 | cmd->command = cpu_to_le16(CMD_802_11_GET_LOG); | ||
502 | cmd->size = | ||
503 | cpu_to_le16(sizeof(struct cmd_ds_802_11_get_log) + S_DS_GEN); | ||
504 | |||
505 | lbs_deb_leave(LBS_DEB_CMD); | ||
506 | return 0; | ||
507 | } | ||
508 | |||
509 | static int lbs_cmd_802_11_get_stat(struct lbs_private *priv, | 497 | static int lbs_cmd_802_11_get_stat(struct lbs_private *priv, |
510 | struct cmd_ds_command *cmd) | 498 | struct cmd_ds_command *cmd) |
511 | { | 499 | { |
@@ -1423,10 +1411,6 @@ int lbs_prepare_and_send_command(struct lbs_private *priv, | |||
1423 | ret = lbs_cmd_802_11_reset(priv, cmdptr, cmd_action); | 1411 | ret = lbs_cmd_802_11_reset(priv, cmdptr, cmd_action); |
1424 | break; | 1412 | break; |
1425 | 1413 | ||
1426 | case CMD_802_11_GET_LOG: | ||
1427 | ret = lbs_cmd_802_11_get_log(priv, cmdptr); | ||
1428 | break; | ||
1429 | |||
1430 | case CMD_802_11_AUTHENTICATE: | 1414 | case CMD_802_11_AUTHENTICATE: |
1431 | ret = lbs_cmd_80211_authenticate(priv, cmdptr, pdata_buf); | 1415 | ret = lbs_cmd_80211_authenticate(priv, cmdptr, pdata_buf); |
1432 | break; | 1416 | break; |
diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c index 5534a7b859da..240feeb1b49b 100644 --- a/drivers/net/wireless/libertas/cmdresp.c +++ b/drivers/net/wireless/libertas/cmdresp.c | |||
@@ -303,20 +303,6 @@ static int lbs_ret_802_11_eeprom_access(struct lbs_private *priv, | |||
303 | return 0; | 303 | return 0; |
304 | } | 304 | } |
305 | 305 | ||
306 | static int lbs_ret_get_log(struct lbs_private *priv, | ||
307 | struct cmd_ds_command *resp) | ||
308 | { | ||
309 | struct cmd_ds_802_11_get_log *logmessage = &resp->params.glog; | ||
310 | |||
311 | lbs_deb_enter(LBS_DEB_CMD); | ||
312 | |||
313 | /* Stored little-endian */ | ||
314 | memcpy(&priv->logmsg, logmessage, sizeof(struct cmd_ds_802_11_get_log)); | ||
315 | |||
316 | lbs_deb_leave(LBS_DEB_CMD); | ||
317 | return 0; | ||
318 | } | ||
319 | |||
320 | static int lbs_ret_802_11_bcn_ctrl(struct lbs_private * priv, | 306 | static int lbs_ret_802_11_bcn_ctrl(struct lbs_private * priv, |
321 | struct cmd_ds_command *resp) | 307 | struct cmd_ds_command *resp) |
322 | { | 308 | { |
@@ -352,10 +338,6 @@ static inline int handle_cmd_response(struct lbs_private *priv, | |||
352 | ret = lbs_ret_reg_access(priv, respcmd, resp); | 338 | ret = lbs_ret_reg_access(priv, respcmd, resp); |
353 | break; | 339 | break; |
354 | 340 | ||
355 | case CMD_RET(CMD_802_11_GET_LOG): | ||
356 | ret = lbs_ret_get_log(priv, resp); | ||
357 | break; | ||
358 | |||
359 | case CMD_RET_802_11_ASSOCIATE: | 341 | case CMD_RET_802_11_ASSOCIATE: |
360 | case CMD_RET(CMD_802_11_ASSOCIATE): | 342 | case CMD_RET(CMD_802_11_ASSOCIATE): |
361 | case CMD_RET(CMD_802_11_REASSOCIATE): | 343 | case CMD_RET(CMD_802_11_REASSOCIATE): |
diff --git a/drivers/net/wireless/libertas/dev.h b/drivers/net/wireless/libertas/dev.h index 4122a3223432..17e02bed6bfa 100644 --- a/drivers/net/wireless/libertas/dev.h +++ b/drivers/net/wireless/libertas/dev.h | |||
@@ -323,8 +323,6 @@ struct lbs_private { | |||
323 | u8 *prdeeprom; | 323 | u8 *prdeeprom; |
324 | struct lbs_offset_value offsetvalue; | 324 | struct lbs_offset_value offsetvalue; |
325 | 325 | ||
326 | struct cmd_ds_802_11_get_log logmsg; | ||
327 | |||
328 | u32 monitormode; | 326 | u32 monitormode; |
329 | u8 fw_ready; | 327 | u8 fw_ready; |
330 | }; | 328 | }; |
diff --git a/drivers/net/wireless/libertas/hostcmd.h b/drivers/net/wireless/libertas/hostcmd.h index b5361b3393d9..acbcd56831cb 100644 --- a/drivers/net/wireless/libertas/hostcmd.h +++ b/drivers/net/wireless/libertas/hostcmd.h | |||
@@ -195,6 +195,8 @@ struct cmd_ds_802_11_scan_rsp { | |||
195 | }; | 195 | }; |
196 | 196 | ||
197 | struct cmd_ds_802_11_get_log { | 197 | struct cmd_ds_802_11_get_log { |
198 | struct cmd_header hdr; | ||
199 | |||
198 | __le32 mcasttxframe; | 200 | __le32 mcasttxframe; |
199 | __le32 failed; | 201 | __le32 failed; |
200 | __le32 retry; | 202 | __le32 retry; |
@@ -701,7 +703,6 @@ struct cmd_ds_command { | |||
701 | struct cmd_ds_802_11_ad_hoc_start ads; | 703 | struct cmd_ds_802_11_ad_hoc_start ads; |
702 | struct cmd_ds_802_11_reset reset; | 704 | struct cmd_ds_802_11_reset reset; |
703 | struct cmd_ds_802_11_ad_hoc_result result; | 705 | struct cmd_ds_802_11_ad_hoc_result result; |
704 | struct cmd_ds_802_11_get_log glog; | ||
705 | struct cmd_ds_802_11_authenticate auth; | 706 | struct cmd_ds_802_11_authenticate auth; |
706 | struct cmd_ds_802_11_get_stat gstat; | 707 | struct cmd_ds_802_11_get_stat gstat; |
707 | struct cmd_ds_802_3_get_stat gstat_8023; | 708 | struct cmd_ds_802_3_get_stat gstat_8023; |
diff --git a/drivers/net/wireless/libertas/wext.c b/drivers/net/wireless/libertas/wext.c index cded4bb69164..5ccb4e0c8d64 100644 --- a/drivers/net/wireless/libertas/wext.c +++ b/drivers/net/wireless/libertas/wext.c | |||
@@ -820,6 +820,7 @@ static struct iw_statistics *lbs_get_wireless_stats(struct net_device *dev) | |||
820 | int stats_valid = 0; | 820 | int stats_valid = 0; |
821 | u8 rssi; | 821 | u8 rssi; |
822 | u32 tx_retries; | 822 | u32 tx_retries; |
823 | struct cmd_ds_802_11_get_log log; | ||
823 | 824 | ||
824 | lbs_deb_enter(LBS_DEB_WEXT); | 825 | lbs_deb_enter(LBS_DEB_WEXT); |
825 | 826 | ||
@@ -863,7 +864,11 @@ static struct iw_statistics *lbs_get_wireless_stats(struct net_device *dev) | |||
863 | /* Quality by TX errors */ | 864 | /* Quality by TX errors */ |
864 | priv->wstats.discard.retries = priv->stats.tx_errors; | 865 | priv->wstats.discard.retries = priv->stats.tx_errors; |
865 | 866 | ||
866 | tx_retries = le32_to_cpu(priv->logmsg.retry); | 867 | memset(&log, 0, sizeof(log)); |
868 | log.hdr.size = cpu_to_le16(sizeof(log)); | ||
869 | lbs_cmd_with_response(priv, CMD_802_11_GET_LOG, &log); | ||
870 | |||
871 | tx_retries = le32_to_cpu(log.retry); | ||
867 | 872 | ||
868 | if (tx_retries > 75) | 873 | if (tx_retries > 75) |
869 | tx_qual = (90 - tx_retries) * POOR / 15; | 874 | tx_qual = (90 - tx_retries) * POOR / 15; |
@@ -879,10 +884,9 @@ static struct iw_statistics *lbs_get_wireless_stats(struct net_device *dev) | |||
879 | (PERFECT - VERY_GOOD) / 50 + VERY_GOOD; | 884 | (PERFECT - VERY_GOOD) / 50 + VERY_GOOD; |
880 | quality = min(quality, tx_qual); | 885 | quality = min(quality, tx_qual); |
881 | 886 | ||
882 | priv->wstats.discard.code = le32_to_cpu(priv->logmsg.wepundecryptable); | 887 | priv->wstats.discard.code = le32_to_cpu(log.wepundecryptable); |
883 | priv->wstats.discard.fragment = le32_to_cpu(priv->logmsg.rxfrag); | ||
884 | priv->wstats.discard.retries = tx_retries; | 888 | priv->wstats.discard.retries = tx_retries; |
885 | priv->wstats.discard.misc = le32_to_cpu(priv->logmsg.ackfailure); | 889 | priv->wstats.discard.misc = le32_to_cpu(log.ackfailure); |
886 | 890 | ||
887 | /* Calculate quality */ | 891 | /* Calculate quality */ |
888 | priv->wstats.qual.qual = min_t(u8, quality, 100); | 892 | priv->wstats.qual.qual = min_t(u8, quality, 100); |
@@ -892,8 +896,6 @@ static struct iw_statistics *lbs_get_wireless_stats(struct net_device *dev) | |||
892 | /* update stats asynchronously for future calls */ | 896 | /* update stats asynchronously for future calls */ |
893 | lbs_prepare_and_send_command(priv, CMD_802_11_RSSI, 0, | 897 | lbs_prepare_and_send_command(priv, CMD_802_11_RSSI, 0, |
894 | 0, 0, NULL); | 898 | 0, 0, NULL); |
895 | lbs_prepare_and_send_command(priv, CMD_802_11_GET_LOG, 0, | ||
896 | 0, 0, NULL); | ||
897 | out: | 899 | out: |
898 | if (!stats_valid) { | 900 | if (!stats_valid) { |
899 | priv->wstats.miss.beacon = 0; | 901 | priv->wstats.miss.beacon = 0; |