On 2-7-2017 20:12, Larry Finger wrote:
> From: Ping-Ke Shih <[email protected]>
>
> We use H2C to ask BT's status, and C2H will return the status.
>
> Signed-off-by: Ping-Ke Shih <[email protected]>
> Signed-off-by: Larry Finger <[email protected]>
> Cc: Yan-Hsuan Chuang <[email protected]>
> Cc: Birming Chiu <[email protected]>
> Cc: Shaofu <[email protected]>
> Cc: Steven Ting <[email protected]>
> ---
> v2 - no changes
> v3 - no changes
> v4 - no changes
> ---
> .../realtek/rtlwifi/btcoexist/halbtcoutsrc.c | 17 ++++++++++++-
> .../wireless/realtek/rtlwifi/btcoexist/rtl_btc.c | 28
> ++++++++++++++++++++++
> .../wireless/realtek/rtlwifi/btcoexist/rtl_btc.h | 1 +
> .../net/wireless/realtek/rtlwifi/rtl8192ee/fw.c | 9 +++++--
> .../net/wireless/realtek/rtlwifi/rtl8723be/fw.c | 9 +++++--
> .../net/wireless/realtek/rtlwifi/rtl8821ae/fw.c | 13 +++++++---
> drivers/net/wireless/realtek/rtlwifi/wifi.h | 2 ++
> 7 files changed, 71 insertions(+), 8 deletions(-)
>
[...]
>
> +void rtl_btc_btmpinfo_notify(struct rtl_priv *rtlpriv, u8 *tmp_buf, u8
> length)
> +{
> + u8 extid, seq, len;
> + u16 bt_real_fw_ver;
> + u8 bt_fw_ver;
> +
> + if ((length < 4) || (!tmp_buf))
> + return;
> +
> + extid = tmp_buf[0];
> + /* not response from BT FW then exit*/
> + if (extid != 1) /* C2H_TRIG_BY_BT_FW = 1 */
> + return;
> +
> + len = tmp_buf[1] >> 4;
> + seq = tmp_buf[2] >> 4;
> +
> + /* BT Firmware version response */
> + if (seq == 0x0E) {
> + bt_real_fw_ver = tmp_buf[3] | (tmp_buf[4] << 8);
> + bt_fw_ver = tmp_buf[5];
> +
> + gl_bt_coexist.bt_info.bt_real_fw_ver = bt_real_fw_ver;
> + gl_bt_coexist.bt_info.bt_fw_ver = bt_fw_ver;
> + }
> +}
Just stumbled upon this and curious. I assume gl_bt_coexist is a global
variable so I guess this code will not work when running multiple
realtek device with btcoexist on your system.
Regards,
Arend