brcmfmac: Simplify and fix usage of brcmf_ifname.
authorHante Meuleman <meuleman@broadcom.com>
Thu, 29 Oct 2015 19:33:12 +0000 (20:33 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 26 Nov 2015 11:53:08 +0000 (13:53 +0200)
brcmf_ifname is a debug function to return a name related to an ifp,
but is using a rather complex implementation. It was also used
wrongly from bcdc as it did not use the bsscfgidx as it was supposed
to, but bssidx. This patch fixes that bug and simplifies
brcmf_ifname.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h

index 288c84e7c56b633c21f0e0b80dca1059416a91ad..6af658e443e415f97bf7c96aa79eaded674f7f52 100644 (file)
@@ -187,7 +187,8 @@ retry:
                goto retry;
        if (id != bcdc->reqid) {
                brcmf_err("%s: unexpected request id %d (expected %d)\n",
-                         brcmf_ifname(drvr, ifidx), id, bcdc->reqid);
+                         brcmf_ifname(brcmf_get_ifp(drvr, ifidx)), id,
+                         bcdc->reqid);
                ret = -EINVAL;
                goto done;
        }
@@ -234,7 +235,8 @@ brcmf_proto_bcdc_set_dcmd(struct brcmf_pub *drvr, int ifidx, uint cmd,
 
        if (id != bcdc->reqid) {
                brcmf_err("%s: unexpected request id %d (expected %d)\n",
-                         brcmf_ifname(drvr, ifidx), id, bcdc->reqid);
+                         brcmf_ifname(brcmf_get_ifp(drvr, ifidx)), id,
+                         bcdc->reqid);
                ret = -EINVAL;
                goto done;
        }
@@ -298,13 +300,13 @@ brcmf_proto_bcdc_hdrpull(struct brcmf_pub *drvr, bool do_fws,
        if (((h->flags & BCDC_FLAG_VER_MASK) >> BCDC_FLAG_VER_SHIFT) !=
            BCDC_PROTO_VER) {
                brcmf_err("%s: non-BCDC packet received, flags 0x%x\n",
-                         brcmf_ifname(drvr, tmp_if->ifidx), h->flags);
+                         brcmf_ifname(tmp_if), h->flags);
                return -EBADE;
        }
 
        if (h->flags & BCDC_FLAG_SUM_GOOD) {
                brcmf_dbg(BCDC, "%s: BDC rcv, good checksum, flags 0x%x\n",
-                         brcmf_ifname(drvr, tmp_if->ifidx), h->flags);
+                         brcmf_ifname(tmp_if), h->flags);
                pktbuf->ip_summed = CHECKSUM_UNNECESSARY;
        }
 
index b5ab98ee14455aea9774814128faa8b0177a0071..76b66bc15b598c11d58aa1c3bcba17bf84916b4b 100644 (file)
@@ -66,20 +66,13 @@ static int brcmf_p2p_enable;
 module_param_named(p2pon, brcmf_p2p_enable, int, 0);
 MODULE_PARM_DESC(p2pon, "enable legacy p2p management functionality");
 
-char *brcmf_ifname(struct brcmf_pub *drvr, int ifidx)
+char *brcmf_ifname(struct brcmf_if *ifp)
 {
-       if (ifidx < 0 || ifidx >= BRCMF_MAX_IFS) {
-               brcmf_err("ifidx %d out of range\n", ifidx);
-               return "<if_bad>";
-       }
-
-       if (drvr->iflist[ifidx] == NULL) {
-               brcmf_err("null i/f %d\n", ifidx);
+       if (!ifp)
                return "<if_null>";
-       }
 
-       if (drvr->iflist[ifidx]->ndev)
-               return drvr->iflist[ifidx]->ndev->name;
+       if (ifp->ndev)
+               return ifp->ndev->name;
 
        return "<if_none>";
 }
@@ -237,14 +230,14 @@ static netdev_tx_t brcmf_netdev_start_xmit(struct sk_buff *skb,
                struct sk_buff *skb2;
 
                brcmf_dbg(INFO, "%s: insufficient headroom\n",
-                         brcmf_ifname(drvr, ifp->bssidx));
+                         brcmf_ifname(ifp));
                drvr->bus_if->tx_realloc++;
                skb2 = skb_realloc_headroom(skb, drvr->hdrlen);
                dev_kfree_skb(skb);
                skb = skb2;
                if (skb == NULL) {
                        brcmf_err("%s: skb_realloc_headroom failed\n",
-                                 brcmf_ifname(drvr, ifp->bssidx));
+                                 brcmf_ifname(ifp));
                        ret = -ENOMEM;
                        goto done;
                }
index 2f9101b2ad343e29dfd4689e3bb2e937a39426b6..673d6972359fed1da2fd6f3d33685a3c27c58f1a 100644 (file)
@@ -205,7 +205,7 @@ struct brcmf_skb_reorder_data {
 int brcmf_netdev_wait_pend8021x(struct brcmf_if *ifp);
 
 /* Return pointer to interface name */
-char *brcmf_ifname(struct brcmf_pub *drvr, int idx);
+char *brcmf_ifname(struct brcmf_if *ifp);
 struct brcmf_if *brcmf_get_ifp(struct brcmf_pub *drvr, int ifidx);
 int brcmf_net_attach(struct brcmf_if *ifp, bool rtnl_locked);
 struct brcmf_if *brcmf_add_if(struct brcmf_pub *drvr, s32 bssidx, s32 ifidx,