diff options
Diffstat (limited to 'drivers/net/wireless/ath9k/beacon.c')
-rw-r--r-- | drivers/net/wireless/ath9k/beacon.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath9k/beacon.c b/drivers/net/wireless/ath9k/beacon.c index 00993f828c5..ba3dd253e96 100644 --- a/drivers/net/wireless/ath9k/beacon.c +++ b/drivers/net/wireless/ath9k/beacon.c | |||
@@ -85,7 +85,8 @@ static void ath_beacon_setup(struct ath_softc *sc, | |||
85 | 85 | ||
86 | flags = ATH9K_TXDESC_NOACK; | 86 | flags = ATH9K_TXDESC_NOACK; |
87 | 87 | ||
88 | if (sc->sc_opmode == ATH9K_M_IBSS && ah->ah_caps.halVEOLSupport) { | 88 | if (sc->sc_opmode == ATH9K_M_IBSS && |
89 | (ah->ah_caps.hw_caps & ATH9K_HW_CAP_VEOL)) { | ||
89 | ds->ds_link = bf->bf_daddr; /* self-linked */ | 90 | ds->ds_link = bf->bf_daddr; /* self-linked */ |
90 | flags |= ATH9K_TXDESC_VEOL; | 91 | flags |= ATH9K_TXDESC_VEOL; |
91 | /* Let hardware handle antenna switching. */ | 92 | /* Let hardware handle antenna switching. */ |
@@ -375,7 +376,7 @@ int ath_beacon_alloc(struct ath_softc *sc, int if_id) | |||
375 | list_del(&avp->av_bcbuf->list); | 376 | list_del(&avp->av_bcbuf->list); |
376 | 377 | ||
377 | if (sc->sc_opmode == ATH9K_M_HOSTAP || | 378 | if (sc->sc_opmode == ATH9K_M_HOSTAP || |
378 | !sc->sc_ah->ah_caps.halVEOLSupport) { | 379 | !(sc->sc_ah->ah_caps.hw_caps & ATH9K_HW_CAP_VEOL)) { |
379 | int slot; | 380 | int slot; |
380 | /* | 381 | /* |
381 | * Assign the vap to a beacon xmit slot. As | 382 | * Assign the vap to a beacon xmit slot. As |
@@ -939,7 +940,7 @@ void ath_beacon_config(struct ath_softc *sc, int if_id) | |||
939 | * deal with things. | 940 | * deal with things. |
940 | */ | 941 | */ |
941 | intval |= ATH9K_BEACON_ENA; | 942 | intval |= ATH9K_BEACON_ENA; |
942 | if (!ah->ah_caps.halVEOLSupport) | 943 | if (!(ah->ah_caps.hw_caps & ATH9K_HW_CAP_VEOL)) |
943 | sc->sc_imask |= ATH9K_INT_SWBA; | 944 | sc->sc_imask |= ATH9K_INT_SWBA; |
944 | ath_beaconq_config(sc); | 945 | ath_beaconq_config(sc); |
945 | } else if (sc->sc_opmode == ATH9K_M_HOSTAP) { | 946 | } else if (sc->sc_opmode == ATH9K_M_HOSTAP) { |
@@ -958,7 +959,8 @@ void ath_beacon_config(struct ath_softc *sc, int if_id) | |||
958 | * When using a self-linked beacon descriptor in | 959 | * When using a self-linked beacon descriptor in |
959 | * ibss mode load it once here. | 960 | * ibss mode load it once here. |
960 | */ | 961 | */ |
961 | if (sc->sc_opmode == ATH9K_M_IBSS && ah->ah_caps.halVEOLSupport) | 962 | if (sc->sc_opmode == ATH9K_M_IBSS && |
963 | (ah->ah_caps.hw_caps & ATH9K_HW_CAP_VEOL)) | ||
962 | ath_beacon_start_adhoc(sc, 0); | 964 | ath_beacon_start_adhoc(sc, 0); |
963 | } | 965 | } |
964 | #undef TSF_TO_TU | 966 | #undef TSF_TO_TU |