diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath5k/base.c')
-rw-r--r-- | drivers/net/wireless/ath/ath5k/base.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c index b5015376d4ba..535a6afb94e3 100644 --- a/drivers/net/wireless/ath/ath5k/base.c +++ b/drivers/net/wireless/ath/ath5k/base.c | |||
@@ -1516,7 +1516,8 @@ ath5k_beaconq_config(struct ath5k_softc *sc) | |||
1516 | 1516 | ||
1517 | ret = ath5k_hw_get_tx_queueprops(ah, sc->bhalq, &qi); | 1517 | ret = ath5k_hw_get_tx_queueprops(ah, sc->bhalq, &qi); |
1518 | if (ret) | 1518 | if (ret) |
1519 | return ret; | 1519 | goto err; |
1520 | |||
1520 | if (sc->opmode == NL80211_IFTYPE_AP || | 1521 | if (sc->opmode == NL80211_IFTYPE_AP || |
1521 | sc->opmode == NL80211_IFTYPE_MESH_POINT) { | 1522 | sc->opmode == NL80211_IFTYPE_MESH_POINT) { |
1522 | /* | 1523 | /* |
@@ -1543,10 +1544,25 @@ ath5k_beaconq_config(struct ath5k_softc *sc) | |||
1543 | if (ret) { | 1544 | if (ret) { |
1544 | ATH5K_ERR(sc, "%s: unable to update parameters for beacon " | 1545 | ATH5K_ERR(sc, "%s: unable to update parameters for beacon " |
1545 | "hardware queue!\n", __func__); | 1546 | "hardware queue!\n", __func__); |
1546 | return ret; | 1547 | goto err; |
1547 | } | 1548 | } |
1549 | ret = ath5k_hw_reset_tx_queue(ah, sc->bhalq); /* push to h/w */ | ||
1550 | if (ret) | ||
1551 | goto err; | ||
1548 | 1552 | ||
1549 | return ath5k_hw_reset_tx_queue(ah, sc->bhalq); /* push to h/w */; | 1553 | /* reconfigure cabq with ready time to 80% of beacon_interval */ |
1554 | ret = ath5k_hw_get_tx_queueprops(ah, AR5K_TX_QUEUE_ID_CAB, &qi); | ||
1555 | if (ret) | ||
1556 | goto err; | ||
1557 | |||
1558 | qi.tqi_ready_time = (sc->bintval * 80) / 100; | ||
1559 | ret = ath5k_hw_set_tx_queueprops(ah, AR5K_TX_QUEUE_ID_CAB, &qi); | ||
1560 | if (ret) | ||
1561 | goto err; | ||
1562 | |||
1563 | ret = ath5k_hw_reset_tx_queue(ah, AR5K_TX_QUEUE_ID_CAB); | ||
1564 | err: | ||
1565 | return ret; | ||
1550 | } | 1566 | } |
1551 | 1567 | ||
1552 | static void | 1568 | static void |