mac80211: brcmfmac: fix support for BCM4366
[openwrt.git] / package / kernel / mac80211 / patches / 351-0009-brcmfmac-print-errors-if-creating-interface-fails.patch
1 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
2 Date: Fri, 27 May 2016 10:54:28 +0200
3 Subject: [PATCH] brcmfmac: print errors if creating interface fails
4
5 This is helpful for debugging. Without this all I was getting from "iw"
6 command on failed creating of P2P interface was:
7 > command failed: Too many open files in system (-23)
8
9 Signed-off-by: Rafal Milecki <zajec5@gmail.com>
10 [arend@broadcom.com: reduce error prints upon iface creation]
11 Signed-off-by: Arend van Spriel <arend@broadcom.com>
12 Reviewed-by: Julian Calaby <julian.calaby@gmail.com>
13 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
14 ---
15
16 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
17 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
18 @@ -670,20 +670,24 @@ static struct wireless_dev *brcmf_cfg802
19                 return ERR_PTR(-EOPNOTSUPP);
20         case NL80211_IFTYPE_AP:
21                 wdev = brcmf_ap_add_vif(wiphy, name, flags, params);
22 -               if (!IS_ERR(wdev))
23 -                       brcmf_cfg80211_update_proto_addr_mode(wdev);
24 -               return wdev;
25 +               break;
26         case NL80211_IFTYPE_P2P_CLIENT:
27         case NL80211_IFTYPE_P2P_GO:
28         case NL80211_IFTYPE_P2P_DEVICE:
29                 wdev = brcmf_p2p_add_vif(wiphy, name, name_assign_type, type, flags, params);
30 -               if (!IS_ERR(wdev))
31 -                       brcmf_cfg80211_update_proto_addr_mode(wdev);
32 -               return wdev;
33 +               break;
34         case NL80211_IFTYPE_UNSPECIFIED:
35         default:
36                 return ERR_PTR(-EINVAL);
37         }
38 +
39 +       if (IS_ERR(wdev))
40 +               brcmf_err("add iface %s type %d failed: err=%d\n",
41 +                         name, type, (int)PTR_ERR(wdev));
42 +       else
43 +               brcmf_cfg80211_update_proto_addr_mode(wdev);
44 +
45 +       return wdev;
46  }
47  
48  static void brcmf_scan_config_mpc(struct brcmf_if *ifp, int mpc)
49 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
50 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
51 @@ -2030,8 +2030,6 @@ static int brcmf_p2p_request_p2p_if(stru
52  
53         err = brcmf_fil_iovar_data_set(ifp, "p2p_ifadd", &if_request,
54                                        sizeof(if_request));
55 -       if (err)
56 -               return err;
57  
58         return err;
59  }