diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/ath5k/base.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c index eb98284cba92..b2a6ef559b69 100644 --- a/drivers/net/wireless/ath5k/base.c +++ b/drivers/net/wireless/ath5k/base.c | |||
@@ -1458,8 +1458,7 @@ ath5k_beaconq_config(struct ath5k_softc *sc) | |||
1458 | ret = ath5k_hw_get_tx_queueprops(ah, sc->bhalq, &qi); | 1458 | ret = ath5k_hw_get_tx_queueprops(ah, sc->bhalq, &qi); |
1459 | if (ret) | 1459 | if (ret) |
1460 | return ret; | 1460 | return ret; |
1461 | if (sc->opmode == IEEE80211_IF_TYPE_AP || | 1461 | if (sc->opmode == IEEE80211_IF_TYPE_AP) { |
1462 | sc->opmode == IEEE80211_IF_TYPE_IBSS) { | ||
1463 | /* | 1462 | /* |
1464 | * Always burst out beacon and CAB traffic | 1463 | * Always burst out beacon and CAB traffic |
1465 | * (aifs = cwmin = cwmax = 0) | 1464 | * (aifs = cwmin = cwmax = 0) |
@@ -1467,8 +1466,19 @@ ath5k_beaconq_config(struct ath5k_softc *sc) | |||
1467 | qi.tqi_aifs = 0; | 1466 | qi.tqi_aifs = 0; |
1468 | qi.tqi_cw_min = 0; | 1467 | qi.tqi_cw_min = 0; |
1469 | qi.tqi_cw_max = 0; | 1468 | qi.tqi_cw_max = 0; |
1469 | } else if (sc->opmode == IEEE80211_IF_TYPE_IBSS) { | ||
1470 | /* | ||
1471 | * Adhoc mode; backoff between 0 and (2 * cw_min). | ||
1472 | */ | ||
1473 | qi.tqi_aifs = 0; | ||
1474 | qi.tqi_cw_min = 0; | ||
1475 | qi.tqi_cw_max = 2 * ah->ah_cw_min; | ||
1470 | } | 1476 | } |
1471 | 1477 | ||
1478 | ATH5K_DBG(sc, ATH5K_DEBUG_BEACON, | ||
1479 | "beacon queueprops tqi_aifs:%d tqi_cw_min:%d tqi_cw_max:%d\n", | ||
1480 | qi.tqi_aifs, qi.tqi_cw_min, qi.tqi_cw_max); | ||
1481 | |||
1472 | ret = ath5k_hw_setup_tx_queueprops(ah, sc->bhalq, &qi); | 1482 | ret = ath5k_hw_setup_tx_queueprops(ah, sc->bhalq, &qi); |
1473 | if (ret) { | 1483 | if (ret) { |
1474 | ATH5K_ERR(sc, "%s: unable to update parameters for beacon " | 1484 | ATH5K_ERR(sc, "%s: unable to update parameters for beacon " |