Okay, afcee962b09842d0f4191beb4a2d08251b4c7705 seems to fix this problem:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=afcee962b09842d0f4191beb4a2d08251b4c7705
I cherry-picked it into the current ubuntu-vivid.git tree and built a kernel, and have had no problems so far.
It's only a one line change:
diff --git a/drivers/net/wireless/iwlwifi/mvm/coex_legacy.c b/drivers/net/wireless/iwlwifi/mvm/coex_legacy.c index d530ef3..85144d5 100644 --- a/drivers/net/wireless/iwlwifi/mvm/coex_legacy.c +++ b/drivers/net/wireless/iwlwifi/mvm/coex_legacy.c @@ -1176,7 +1176,7 @@ bool iwl_mvm_bt_coex_is_ant_avail_old(struct iwl_mvm *mvm, u8 ant) bool iwl_mvm_bt_coex_is_shared_ant_avail_old(struct iwl_mvm *mvm) { u32 ag = le32_to_cpu(mvm->last_bt_notif_old.bt_activity_grading); - return ag == BT_OFF; + return ag < BT_HIGH_TRAFFIC; }
bool iwl_mvm_bt_coex_is_tpc_allowed_old(struct iwl_mvm *mvm,
Okay, afcee962b09842d 0f4191beb4a2d08 251b4c7705 seems to fix this problem:
https:/ /git.kernel. org/cgit/ linux/kernel/ git/torvalds/ linux.git/ commit/ ?id=afcee962b09 842d0f4191beb4a 2d08251b4c7705
I cherry-picked it into the current ubuntu-vivid.git tree and built a kernel, and have had no problems so far.
It's only a one line change:
diff --git a/drivers/ net/wireless/ iwlwifi/ mvm/coex_ legacy. c b/drivers/ net/wireless/ iwlwifi/ mvm/coex_ legacy. c net/wireless/ iwlwifi/ mvm/coex_ legacy. c net/wireless/ iwlwifi/ mvm/coex_ legacy. c bt_coex_ is_ant_ avail_old( struct iwl_mvm *mvm, u8 ant) bt_coex_ is_shared_ ant_avail_ old(struct iwl_mvm *mvm) cpu(mvm- >last_bt_ notif_old. bt_activity_ grading) ;
index d530ef3..85144d5 100644
--- a/drivers/
+++ b/drivers/
@@ -1176,7 +1176,7 @@ bool iwl_mvm_
bool iwl_mvm_
{
u32 ag = le32_to_
- return ag == BT_OFF;
+ return ag < BT_HIGH_TRAFFIC;
}
bool iwl_mvm_ bt_coex_ is_tpc_ allowed_ old(struct iwl_mvm *mvm,