mac80211: brcmfmac: fix memleak and add size optimization
[openwrt/staging/rmilecki.git] / package / kernel / mac80211 / patches / 855-0002-brcmfmac-drop-unused-fields-from-struct-brcmf_pub.patch
1 From 9ef5e87962eb35d7e03809266b1a5a1aafd3c7d3 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
3 Date: Fri, 23 Sep 2016 15:24:58 +0200
4 Subject: [PATCH] brcmfmac: drop unused fields from struct brcmf_pub
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 They seem to be there from the first day. We calculate these values but
10 never use them.
11
12 Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
13 ---
14 drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 3 ---
15 drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h | 4 ----
16 drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c | 2 --
17 3 files changed, 9 deletions(-)
18
19 diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
20 index 65e8c87..27cd50a 100644
21 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
22 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
23 @@ -519,9 +519,6 @@ int brcmf_net_attach(struct brcmf_if *ifp, bool rtnl_locked)
24 ndev->needed_headroom += drvr->hdrlen;
25 ndev->ethtool_ops = &brcmf_ethtool_ops;
26
27 - drvr->rxsz = ndev->mtu + ndev->hard_header_len +
28 - drvr->hdrlen;
29 -
30 /* set the mac address */
31 memcpy(ndev->dev_addr, ifp->mac_addr, ETH_ALEN);
32
33 diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h
34 index 8fa34ca..f16cfc9 100644
35 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h
36 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h
37 @@ -112,15 +112,11 @@ struct brcmf_pub {
38
39 /* Internal brcmf items */
40 uint hdrlen; /* Total BRCMF header length (proto + bus) */
41 - uint rxsz; /* Rx buffer size bus module should use */
42
43 /* Dongle media info */
44 char fwver[BRCMF_DRIVER_FIRMWARE_VERSION_LEN];
45 u8 mac[ETH_ALEN]; /* MAC address obtained from dongle */
46
47 - /* Multicast data packets sent to dongle */
48 - unsigned long tx_multicast;
49 -
50 struct mac_address addresses[BRCMF_MAX_IFS];
51
52 struct brcmf_if *iflist[BRCMF_MAX_IFS];
53 diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
54 index 9f9024a..a190f53 100644
55 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
56 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
57 @@ -2104,8 +2104,6 @@ int brcmf_fws_process_skb(struct brcmf_if *ifp, struct sk_buff *skb)
58 if ((skb->priority == 0) || (skb->priority > 7))
59 skb->priority = cfg80211_classify8021d(skb, NULL);
60
61 - drvr->tx_multicast += !!multicast;
62 -
63 if (fws->avoid_queueing) {
64 rc = brcmf_proto_txdata(drvr, ifp->ifidx, 0, skb);
65 if (rc < 0)
66 --
67 2.9.3
68