]> git.itanic.dy.fi Git - linux-stable/commitdiff
carl9170: remove P2P_GO support
authorChristian Lamparter <chunkeey@gmail.com>
Tue, 5 May 2020 07:42:09 +0000 (10:42 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 6 May 2020 06:14:20 +0000 (09:14 +0300)
This patch follows up on a bug-report by Frank Schäfer that
discovered P2P GO wasn't working with wpa_supplicant.
This patch removes part of the broken P2P GO support but
keeps the vif switchover code in place.

Cc: <stable@vger.kernel.org>
Link: <https://lkml.kernel.org/r/3a9d86b6-744f-e670-8792-9167257edef8@googlemail.com>
Reported-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200425092811.9494-1-chunkeey@gmail.com
drivers/net/wireless/ath/carl9170/fw.c
drivers/net/wireless/ath/carl9170/main.c

index 51934d191f33917f3eb14cd60002885bd210a46f..1ab09e1c9ec57a0ff91f7af398849e95858c073f 100644 (file)
@@ -338,9 +338,7 @@ static int carl9170_fw(struct ar9170 *ar, const __u8 *data, size_t len)
                ar->hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_ADHOC);
 
                if (SUPP(CARL9170FW_WLANTX_CAB)) {
-                       if_comb_types |=
-                               BIT(NL80211_IFTYPE_AP) |
-                               BIT(NL80211_IFTYPE_P2P_GO);
+                       if_comb_types |= BIT(NL80211_IFTYPE_AP);
 
 #ifdef CONFIG_MAC80211_MESH
                        if_comb_types |=
index 5914926a5c5b8add0e387dff9dea1b39559f24e8..816929fb5b1437051c6eaf2b123530bb96343da1 100644 (file)
@@ -582,11 +582,10 @@ static int carl9170_init_interface(struct ar9170 *ar,
        ar->disable_offload |= ((vif->type != NL80211_IFTYPE_STATION) &&
            (vif->type != NL80211_IFTYPE_AP));
 
-       /* While the driver supports HW offload in a single
-        * P2P client configuration, it doesn't support HW
-        * offload in the favourit, concurrent P2P GO+CLIENT
-        * configuration. Hence, HW offload will always be
-        * disabled for P2P.
+       /* The driver used to have P2P GO+CLIENT support,
+        * but since this was dropped and we don't know if
+        * there are any gremlins lurking in the shadows,
+        * so best we keep HW offload disabled for P2P.
         */
        ar->disable_offload |= vif->p2p;
 
@@ -639,18 +638,6 @@ static int carl9170_op_add_interface(struct ieee80211_hw *hw,
                        if (vif->type == NL80211_IFTYPE_STATION)
                                break;
 
-                       /* P2P GO [master] use-case
-                        * Because the P2P GO station is selected dynamically
-                        * by all participating peers of a WIFI Direct network,
-                        * the driver has be able to change the main interface
-                        * operating mode on the fly.
-                        */
-                       if (main_vif->p2p && vif->p2p &&
-                           vif->type == NL80211_IFTYPE_AP) {
-                               old_main = main_vif;
-                               break;
-                       }
-
                        err = -EBUSY;
                        rcu_read_unlock();