Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 328211
b: refs/heads/master
c: d92bb98
h: refs/heads/master
i:
  328209: 0c66a13
  328207: 0351cda
v: v3
  • Loading branch information
Rajkumar Manoharan authored and John W. Linville committed Sep 24, 2012
1 parent e76fd27 commit 8d0d3b4
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bfbee42793a564762d2681d88dc19f4c2d8ee6fd
refs/heads/master: d92bb98f0c13f711bb04f447f7e19da0163eded2
4 changes: 4 additions & 0 deletions trunk/drivers/net/wireless/ath/ath9k/ar9003_mci.c
Original file line number Diff line number Diff line change
Expand Up @@ -1236,6 +1236,10 @@ u32 ar9003_mci_state(struct ath_hw *ah, u32 state_type)
case MCI_STATE_NEED_FTP_STOMP:
value = !(mci->config & ATH_MCI_CONFIG_DISABLE_FTP_STOMP);
break;
case MCI_STATE_NEED_FLUSH_BT_INFO:
value = (!mci->unhalt_bt_gpm && mci->need_flush_btinfo) ? 1 : 0;
mci->need_flush_btinfo = false;
break;
default:
break;
}
Expand Down
4 changes: 3 additions & 1 deletion trunk/drivers/net/wireless/ath/ath9k/ar9003_mci.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ enum mci_state_type {
MCI_STATE_RECOVER_RX,
MCI_STATE_NEED_FTP_STOMP,
MCI_STATE_DEBUG,
MCI_STATE_NEED_FLUSH_BT_INFO,
MCI_STATE_MAX
};

Expand All @@ -211,7 +212,8 @@ enum mci_gpm_coex_opcode {
MCI_GPM_COEX_WLAN_CHANNELS,
MCI_GPM_COEX_BT_PROFILE_INFO,
MCI_GPM_COEX_BT_STATUS_UPDATE,
MCI_GPM_COEX_BT_UPDATE_FLAGS
MCI_GPM_COEX_BT_UPDATE_FLAGS,
MCI_GPM_COEX_NOOP,
};

#define MCI_GPM_NOMORE 0
Expand Down
12 changes: 11 additions & 1 deletion trunk/drivers/net/wireless/ath/ath9k/mci.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ void ath_mci_flush_profile(struct ath_mci_profile *mci)
struct ath_mci_profile_info *info, *tinfo;

mci->aggr_limit = 0;
mci->num_mgmt = 0;

if (list_empty(&mci->info))
return;
Expand Down Expand Up @@ -328,6 +329,13 @@ static void ath_mci_msg(struct ath_softc *sc, u8 opcode, u8 *rx_payload)
u8 major, minor;
u32 seq_num;

if (ar9003_mci_state(ah, MCI_STATE_NEED_FLUSH_BT_INFO) &&
ar9003_mci_state(ah, MCI_STATE_ENABLE)) {
ath_dbg(common, MCI, "(MCI) Need to flush BT profiles\n");
ath_mci_flush_profile(&sc->btcoex.mci);
ar9003_mci_state(ah, MCI_STATE_SEND_STATUS_QUERY);
}

switch (opcode) {
case MCI_GPM_COEX_VERSION_QUERY:
ar9003_mci_state(ah, MCI_STATE_SEND_WLAN_COEX_VERSION);
Expand Down Expand Up @@ -568,9 +576,11 @@ void ath_mci_intr(struct ath_softc *sc)
}

if ((mci_int & AR_MCI_INTERRUPT_RX_INVALID_HDR) ||
(mci_int & AR_MCI_INTERRUPT_CONT_INFO_TIMEOUT))
(mci_int & AR_MCI_INTERRUPT_CONT_INFO_TIMEOUT)) {
mci_int &= ~(AR_MCI_INTERRUPT_RX_INVALID_HDR |
AR_MCI_INTERRUPT_CONT_INFO_TIMEOUT);
ath_mci_msg(sc, MCI_GPM_COEX_NOOP, NULL);
}
}

void ath_mci_enable(struct ath_softc *sc)
Expand Down

0 comments on commit 8d0d3b4

Please sign in to comment.