summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/ath9k/wmi.c
diff options
context:
space:
mode:
authorSujith Manoharan <Sujith.Manoharan@atheros.com>2011-04-13 09:53:08 +0400
committerJohn W. Linville <linville@tuxdriver.com>2011-04-13 23:22:14 +0400
commit832f6a18fc2aead14954c081ece03b7a5b425f81 (patch)
treebe7f379c29a67bb5e4565f90e4038caed4ba8d24 /drivers/net/wireless/ath/ath9k/wmi.c
parent1c165c972b040f9ce199b8d8d3cc4f619872cba5 (diff)
downloadlinux-832f6a18fc2aead14954c081ece03b7a5b425f81.tar.xz
ath9k_htc: Add beacon slots
Beacon transmission is now handled through a slot mechanism. This allows multiple beaconing interfaces to be be present. Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/wmi.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/wmi.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/wmi.c b/drivers/net/wireless/ath/ath9k/wmi.c
index 96171a2c6873..a39552b3077b 100644
--- a/drivers/net/wireless/ath/ath9k/wmi.c
+++ b/drivers/net/wireless/ath/ath9k/wmi.c
@@ -126,7 +126,7 @@ void ath9k_swba_tasklet(unsigned long data)
{
struct ath9k_htc_priv *priv = (struct ath9k_htc_priv *)data;
- ath9k_htc_swba(priv, priv->wmi->beacon_pending);
+ ath9k_htc_swba(priv);
}
void ath9k_fatal_work(struct work_struct *work)
@@ -173,8 +173,10 @@ static void ath9k_wmi_ctrl_rx(void *priv, struct sk_buff *skb,
case WMI_SWBA_EVENTID:
swba = (struct wmi_event_swba *) wmi_event;
+ spin_lock(&wmi->wmi_lock);
wmi->tsf = be64_to_cpu(swba->tsf);
wmi->beacon_pending = swba->beacon_pending;
+ spin_unlock(&wmi->wmi_lock);
tasklet_schedule(&wmi->drv_priv->swba_tasklet);
break;