diff options
author | Felix Fietkau <nbd@openwrt.org> | 2015-10-30 15:17:56 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2015-10-30 15:17:56 +0000 |
commit | ec3ee0969e6ecf49a2c98ce96f6977906ada0553 (patch) | |
tree | 29f379f37176d854bf3d91746b6e9e683590c6ea /package/kernel/mac80211/patches/325-brcmfmac-pass-struct-brcmf_if-instance-in-brcmf_txfi.patch | |
parent | f79bae2fc011c8ea553c878dc3f0e09ef9b0217a (diff) | |
download | mtk-20170518-ec3ee0969e6ecf49a2c98ce96f6977906ada0553.zip mtk-20170518-ec3ee0969e6ecf49a2c98ce96f6977906ada0553.tar.gz mtk-20170518-ec3ee0969e6ecf49a2c98ce96f6977906ada0553.tar.bz2 |
mac80211: update to wireless-testing 2015-10-26
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 47286
Diffstat (limited to 'package/kernel/mac80211/patches/325-brcmfmac-pass-struct-brcmf_if-instance-in-brcmf_txfi.patch')
-rw-r--r-- | package/kernel/mac80211/patches/325-brcmfmac-pass-struct-brcmf_if-instance-in-brcmf_txfi.patch | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/package/kernel/mac80211/patches/325-brcmfmac-pass-struct-brcmf_if-instance-in-brcmf_txfi.patch b/package/kernel/mac80211/patches/325-brcmfmac-pass-struct-brcmf_if-instance-in-brcmf_txfi.patch deleted file mode 100644 index 23a7b6f..0000000 --- a/package/kernel/mac80211/patches/325-brcmfmac-pass-struct-brcmf_if-instance-in-brcmf_txfi.patch +++ /dev/null @@ -1,122 +0,0 @@ -From: Arend van Spriel <arend@broadcom.com> -Date: Wed, 26 Aug 2015 22:14:59 +0200 -Subject: [PATCH] brcmfmac: pass struct brcmf_if instance in - brcmf_txfinalize() - -Most call sites of brcmf_txfinalize already have struct brcmf_if -instance so pass that to brcmf_txfinalize() as the function -needs it anyway. - -Reviewed-by: Hante Meuleman <meuleman@broadcom.com> -Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> -Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> -Signed-off-by: Arend van Spriel <arend@broadcom.com> ---- - ---- a/drivers/net/wireless/brcm80211/brcmfmac/core.c -+++ b/drivers/net/wireless/brcm80211/brcmfmac/core.c -@@ -560,17 +560,11 @@ void brcmf_rx_frame(struct device *dev, - brcmf_netif_rx(ifp, skb); - } - --void brcmf_txfinalize(struct brcmf_pub *drvr, struct sk_buff *txp, u8 ifidx, -- bool success) -+void brcmf_txfinalize(struct brcmf_if *ifp, struct sk_buff *txp, bool success) - { -- struct brcmf_if *ifp; - struct ethhdr *eh; - u16 type; - -- ifp = drvr->iflist[ifidx]; -- if (!ifp) -- goto done; -- - eh = (struct ethhdr *)(txp->data); - type = ntohs(eh->h_proto); - -@@ -582,7 +576,7 @@ void brcmf_txfinalize(struct brcmf_pub * - - if (!success) - ifp->stats.tx_errors++; --done: -+ - brcmu_pkt_buf_free_skb(txp); - } - -@@ -600,7 +594,7 @@ void brcmf_txcomplete(struct device *dev - if (brcmf_proto_hdrpull(drvr, false, txp, &ifp)) - brcmu_pkt_buf_free_skb(txp); - else -- brcmf_txfinalize(drvr, txp, ifp->ifidx, success); -+ brcmf_txfinalize(ifp, txp, success); - } - } - ---- a/drivers/net/wireless/brcm80211/brcmfmac/core.h -+++ b/drivers/net/wireless/brcm80211/brcmfmac/core.h -@@ -210,8 +210,7 @@ void brcmf_remove_interface(struct brcmf - int brcmf_get_next_free_bsscfgidx(struct brcmf_pub *drvr); - void brcmf_txflowblock_if(struct brcmf_if *ifp, - enum brcmf_netif_stop_reason reason, bool state); --void brcmf_txfinalize(struct brcmf_pub *drvr, struct sk_buff *txp, u8 ifidx, -- bool success); -+void brcmf_txfinalize(struct brcmf_if *ifp, struct sk_buff *txp, bool success); - void brcmf_netif_rx(struct brcmf_if *ifp, struct sk_buff *skb); - - /* Sets dongle media info (drv_version, mac address). */ ---- a/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c -+++ b/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c -@@ -1506,7 +1506,7 @@ brcmf_fws_txs_process(struct brcmf_fws_i - ret = brcmf_fws_txstatus_suppressed(fws, fifo, skb, ifp->ifidx, - genbit, seq); - if (remove_from_hanger || ret) -- brcmf_txfinalize(fws->drvr, skb, ifp->ifidx, true); -+ brcmf_txfinalize(ifp, skb, true); - - return 0; - } -@@ -1905,7 +1905,7 @@ int brcmf_fws_process_skb(struct brcmf_i - if (fws->avoid_queueing) { - rc = brcmf_proto_txdata(drvr, ifp->ifidx, 0, skb); - if (rc < 0) -- brcmf_txfinalize(drvr, skb, ifp->ifidx, false); -+ brcmf_txfinalize(ifp, skb, false); - return rc; - } - -@@ -1929,7 +1929,7 @@ int brcmf_fws_process_skb(struct brcmf_i - brcmf_fws_schedule_deq(fws); - } else { - brcmf_err("drop skb: no hanger slot\n"); -- brcmf_txfinalize(drvr, skb, ifp->ifidx, false); -+ brcmf_txfinalize(ifp, skb, false); - rc = -ENOMEM; - } - brcmf_fws_unlock(fws); -@@ -2009,8 +2009,9 @@ static void brcmf_fws_dequeue_worker(str - ret = brcmf_proto_txdata(drvr, ifidx, 0, skb); - brcmf_fws_lock(fws); - if (ret < 0) -- brcmf_txfinalize(drvr, skb, ifidx, -- false); -+ brcmf_txfinalize(brcmf_get_ifp(drvr, -+ ifidx), -+ skb, false); - if (fws->bus_flow_blocked) - break; - } ---- a/drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c -+++ b/drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c -@@ -873,7 +873,11 @@ brcmf_msgbuf_process_txstatus(struct brc - commonring = msgbuf->flowrings[flowid]; - atomic_dec(&commonring->outstanding_tx); - -- brcmf_txfinalize(msgbuf->drvr, skb, tx_status->msg.ifidx, true); -+ /* Hante: i believe this was a bug as tx_status->msg.ifidx was used -+ * in brcmf_txfinalize as index in drvr->iflist. Can you confirm/deny? -+ */ -+ brcmf_txfinalize(brcmf_get_ifp(msgbuf->drvr, tx_status->msg.ifidx), -+ skb, true); - } - - |