Samsung VZW MB1 update
/drivers/net/wireless/bcmdhd/dhd_cfg80211.c
blob:cc494653585bb0d98c4b499fac485f1bc1267a4c -> blob:2dfd23c4f956cc954a07cbb1634cfb099ff2f16f
--- drivers/net/wireless/bcmdhd/dhd_cfg80211.c
+++ drivers/net/wireless/bcmdhd/dhd_cfg80211.c
@@ -80,10 +80,9 @@ s32 dhd_cfg80211_set_p2p_info(struct wl_
{
dhd_pub_t *dhd = (dhd_pub_t *)(wl->pub);
dhd->op_mode |= val;
- WL_ERR(("Set : op_mode=%d\n", dhd->op_mode));
-#if defined(ARP_OFFLOAD_SUPPORT)
- if ((dhd->op_mode & CONCURRENT_MULTI_CHAN) !=
- CONCURRENT_MULTI_CHAN) {
+ WL_ERR(("Set : op_mode=0x%04x\n", dhd->op_mode));
+#ifdef ARP_OFFLOAD_SUPPORT
+ if (dhd->arp_version == 1) {
/* IF P2P is enabled, disable arpoe */
dhd_arp_offload_set(dhd, 0);
dhd_arp_offload_enable(dhd, false);
@@ -96,13 +95,15 @@ s32 dhd_cfg80211_set_p2p_info(struct wl_
s32 dhd_cfg80211_clean_p2p_info(struct wl_priv *wl)
{
dhd_pub_t *dhd = (dhd_pub_t *)(wl->pub);
- dhd->op_mode &= ~CONCURENT_MASK;
- WL_ERR(("Clean : op_mode=%d\n", dhd->op_mode));
+ dhd->op_mode &= ~(DHD_FLAG_P2P_GC_MODE | DHD_FLAG_P2P_GO_MODE);
+ WL_ERR(("Clean : op_mode=0x%04x\n", dhd->op_mode));
-#if defined(ARP_OFFLOAD_SUPPORT)
- /* IF P2P is disabled, enable arpoe back for STA mode. */
- dhd_arp_offload_set(dhd, dhd_arp_mode);
- dhd_arp_offload_enable(dhd, true);
+#ifdef ARP_OFFLOAD_SUPPORT
+ if (dhd->arp_version == 1) {
+ /* IF P2P is disabled, enable arpoe back for STA mode. */
+ dhd_arp_offload_set(dhd, dhd_arp_mode);
+ dhd_arp_offload_enable(dhd, true);
+ }
#endif /* ARP_OFFLOAD_SUPPORT */
return 0;
@@ -508,7 +509,7 @@ void wl_cfg80211_btcoex_deinit(struct wl
if (!wl->btcoex_info)
return;
- if (!wl->btcoex_info->timer_on) {
+ if (wl->btcoex_info->timer_on) {
wl->btcoex_info->timer_on = 0;
del_timer_sync(&wl->btcoex_info->timer);
}