Skip to content

Commit

Permalink
ath9k_htc: Fix WMI and beacon header
Browse files Browse the repository at this point in the history
Match the beacon header with that of the firmware.
Also, the firmware reports the TSF for an SWBA, so
store it.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Sujith Manoharan authored and John W. Linville committed Apr 13, 2011
1 parent 29bbfb2 commit 1c165c9
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 2 deletions.
2 changes: 1 addition & 1 deletion drivers/net/wireless/ath/ath9k/htc.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,8 @@ struct tx_mgmt_hdr {
} __packed;

struct tx_beacon_header {
u8 len_changed;
u8 vif_index;
u8 len_changed;
u16 rev;
} __packed;

Expand Down
7 changes: 6 additions & 1 deletion drivers/net/wireless/ath/ath9k/wmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ static void ath9k_wmi_ctrl_rx(void *priv, struct sk_buff *skb,
struct wmi_cmd_hdr *hdr;
u16 cmd_id;
void *wmi_event;
struct wmi_event_swba *swba;
#ifdef CONFIG_ATH9K_HTC_DEBUGFS
__be32 txrate;
#endif
Expand All @@ -170,7 +171,11 @@ static void ath9k_wmi_ctrl_rx(void *priv, struct sk_buff *skb,
wmi_event = skb_pull(skb, sizeof(struct wmi_cmd_hdr));
switch (cmd_id) {
case WMI_SWBA_EVENTID:
wmi->beacon_pending = *(u8 *)wmi_event;
swba = (struct wmi_event_swba *) wmi_event;

wmi->tsf = be64_to_cpu(swba->tsf);
wmi->beacon_pending = swba->beacon_pending;

tasklet_schedule(&wmi->drv_priv->swba_tasklet);
break;
case WMI_FATAL_EVENTID:
Expand Down
6 changes: 6 additions & 0 deletions drivers/net/wireless/ath/ath9k/wmi.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ struct wmi_fw_version {
__be16 minor;

} __packed;

struct wmi_event_swba {
__be64 tsf;
u8 beacon_pending;
};
enum wmi_cmd_id {
WMI_ECHO_CMDID = 0x0001,
WMI_ACCESS_MEMORY_CMDID,
Expand Down Expand Up @@ -106,6 +111,7 @@ struct wmi {
u32 cmd_rsp_len;
bool stopped;

u64 tsf;
u8 beacon_pending;
spinlock_t wmi_lock;

Expand Down

0 comments on commit 1c165c9

Please sign in to comment.