aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorYoni Divinsky <yoni.divinsky@ti.com>2012-05-08 07:02:11 -0400
committerLuciano Coelho <coelho@ti.com>2012-06-05 13:24:31 -0400
commit2e42c203a9a825d04da400bd45b601f94c0cf362 (patch)
tree8dadec7a7ac044014893f19ae13b30215f1e9c0d /drivers/net/wireless
parentbfb92ca1332ce0073cfba5d8a7caee214ed3a787 (diff)
wlcore: use psd_type indexing according to spec
In ieee80211.h the uapsd bit mask is defined such that VO=BIT(0), VI=BIT(1), BK=BIT(2), BE=BIT(3). The firmware uses the indexing as defined in the ieee80211 spec, meaning that VO=3, VI=2, BK=1, BE=0. In AP mode when adding peer wlcore needs to convert the indexing accordingly. Signed-off-by: Yoni Divinsky <yoni.divinsky@ti.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ti/wlcore/cmd.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/wireless/ti/wlcore/cmd.c b/drivers/net/wireless/ti/wlcore/cmd.c
index 5b14446ece4a..e8c650dec18c 100644
--- a/drivers/net/wireless/ti/wlcore/cmd.c
+++ b/drivers/net/wireless/ti/wlcore/cmd.c
@@ -1374,9 +1374,12 @@ int wl12xx_cmd_add_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1374 1374
1375 for (i = 0; i < NUM_ACCESS_CATEGORIES_COPY; i++) 1375 for (i = 0; i < NUM_ACCESS_CATEGORIES_COPY; i++)
1376 if (sta->wme && (sta->uapsd_queues & BIT(i))) 1376 if (sta->wme && (sta->uapsd_queues & BIT(i)))
1377 cmd->psd_type[i] = WL1271_PSD_UPSD_TRIGGER; 1377 cmd->psd_type[NUM_ACCESS_CATEGORIES_COPY-1-i] =
1378 WL1271_PSD_UPSD_TRIGGER;
1378 else 1379 else
1379 cmd->psd_type[i] = WL1271_PSD_LEGACY; 1380 cmd->psd_type[NUM_ACCESS_CATEGORIES_COPY-1-i] =
1381 WL1271_PSD_LEGACY;
1382
1380 1383
1381 sta_rates = sta->supp_rates[wlvif->band]; 1384 sta_rates = sta->supp_rates[wlvif->band];
1382 if (sta->ht_cap.ht_supported) 1385 if (sta->ht_cap.ht_supported)