summaryrefslogtreecommitdiff
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorJes Sorensen <Jes.Sorensen@redhat.com>2016-03-01 01:04:50 +0300
committerKalle Valo <kvalo@codeaurora.org>2016-03-10 16:29:05 +0300
commit6b9eae0129f43b8e691cec91a99601b0829fb841 (patch)
tree83449852db9e88927b1270cac0ef85f920a23560 /drivers/net/wireless
parent394f1bd314cd08915fee9d5b36a2105dc1a543b7 (diff)
downloadlinux-6b9eae0129f43b8e691cec91a99601b0829fb841.tar.xz
rtl8xxxu: Issue BT_INFO command
Issue a BT_INFO command to verify the status of BT/WiFi settings. Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c18
-rw-r--r--drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h4
2 files changed, 15 insertions, 7 deletions
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
index ec03e912e82c..9b5b768ee33b 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
@@ -5727,20 +5727,25 @@ static void rtl8723bu_init_bt(struct rtl8xxxu_priv *priv)
*/
rtl8xxxu_write32(priv, REG_S0S1_PATH_SWITCH, 0x00);
- memset(&h2c, 0, sizeof(struct h2c_cmd));
- h2c.ignore_wlan.cmd = H2C_8723B_BT_IGNORE_WLANACT;
- h2c.ignore_wlan.data = 0;
- rtl8723a_h2c_cmd(priv, &h2c, sizeof(h2c.ignore_wlan));
-
/*
* Software control, antenna at WiFi side
*/
rtl8723bu_set_ps_tdma(priv, 0x08, 0x00, 0x00, 0x00, 0x00);
+ memset(&h2c, 0, sizeof(struct h2c_cmd));
+ h2c.bt_info.cmd = H2C_8723B_BT_INFO;
+ h2c.bt_info.data = BIT(0);
+ rtl8723a_h2c_cmd(priv, &h2c, sizeof(h2c.bt_info));
+
rtl8xxxu_write32(priv, REG_BT_COEX_TABLE1, 0x55555555);
rtl8xxxu_write32(priv, REG_BT_COEX_TABLE2, 0x5a5a5a5a);
rtl8xxxu_write32(priv, REG_BT_COEX_TABLE3, 0x00ffffff);
rtl8xxxu_write32(priv, REG_BT_COEX_TABLE4, 0x00000003);
+
+ memset(&h2c, 0, sizeof(struct h2c_cmd));
+ h2c.ignore_wlan.cmd = H2C_8723B_BT_IGNORE_WLANACT;
+ h2c.ignore_wlan.data = 0;
+ rtl8723a_h2c_cmd(priv, &h2c, sizeof(h2c.ignore_wlan));
}
static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
@@ -6847,8 +6852,7 @@ static void rtl8723bu_handle_c2h(struct rtl8xxxu_priv *priv,
len = skb->len - 2;
- dev_info(dev, "%s: C2H ID %02x seq %02x, len %02x source %02x\n",
- __func__,
+ dev_info(dev, "C2H ID %02x seq %02x, len %02x source %02x\n",
c2h->id, c2h->seq, len, c2h->bt_info.response_source);
switch(c2h->id) {
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
index 3e4e355ce2e2..ea0b28a9a519 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
@@ -881,6 +881,10 @@ struct h2c_cmd {
} __packed b_type_dma;
struct {
u8 cmd;
+ u8 data;
+ } __packed bt_info;
+ struct {
+ u8 cmd;
u8 operreq;
u8 opcode;
u8 data;