linux/drivers/net
Gavin Li c9b3f3173f brcmfmac: fix incorrect event channel deduction
commit 8e290cecdd upstream.

brcmf_sdio_fromevntchan() was being called on the the data frame
rather than the software header, causing some frames to be
mischaracterized as on the event channel rather than the data channel.

This fixes a major performance regression (due to dropped packets). With
this patch the download speed jumped from 1Mbit/s back up to 40MBit/s due
to the sheer amount of packets being incorrectly processed.

Fixes: c56caa9db8 ("brcmfmac: screening firmware event packet")
Signed-off-by: Gavin Li <git@thegavinli.com>
Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
[kvalo@codeaurora.org: improve commit logs based on email discussion]
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2017-03-15 10:02:43 +08:00
..
appletalk treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
arcnet arcnet: com90xx: add __init attribute 2016-04-19 20:17:45 -04:00
bonding Merge branch 'work.uaccess2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-10-11 23:38:39 -07:00
caif virtio/vhost: new features for 4.8 2016-08-06 09:20:13 -04:00
can can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer 2017-03-12 06:41:48 +01:00
cris treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
dsa net: dsa: bcm_sf2: Utilize nested MDIO read/write 2017-01-15 13:42:55 +01:00
ethernet net: mvpp2: fix DMA address calculation in mvpp2_txq_inc_put() 2017-03-15 10:02:42 +08:00
fddi net: skfb: remove obsolete -I cflag 2016-06-15 22:06:06 -07:00
fjes fjes: Delete owner assignment 2016-08-15 11:57:55 -07:00
hamradio 6pack: fix buffer length mishandling 2016-09-20 22:51:30 -04:00
hippi PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
hyperv Drivers: hv: vmbus: finally fix hv_need_to_signal_on_read() 2017-02-14 15:25:39 -08:00
ieee802154 ieee802154: atusb: do not use the stack for buffers to make them DMA able 2017-01-26 08:24:38 +01:00
ipvlan driver: ipvlan: Unlink the upper dev when ipvlan_link_new failed 2016-12-08 14:30:07 -05:00
irda net: irda: set error code on failures 2016-12-05 14:53:08 -05:00
phy net: phy: bcm63xx: Utilize correct config_intr function 2017-02-04 09:47:10 +01:00
plip net: plip: use new parport device model 2016-01-09 21:02:05 -05:00
ppp ppp: declare PPP devices as LLTX 2016-08-31 14:33:09 -07:00
slip treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
team team: loadbalance: push lacpdus to exact delivery 2016-08-26 13:08:59 -07:00
usb catc: Use heap buffer for memory size test 2017-02-18 15:11:42 +01:00
vmxnet3 vmxnet3: avoid assumption about invalid dma_pa in vmxnet3_set_mc() 2016-10-15 17:47:32 -04:00
wan net: wan: slic_ds26522: Allow driver to built if COMPILE_TEST is enabled 2016-10-14 10:11:49 -04:00
wimax net: wimax: i2400m: usb-notif: don't print error when allocating urb fails 2016-08-13 14:53:40 -07:00
wireless brcmfmac: fix incorrect event channel deduction 2017-03-15 10:02:43 +08:00
xen-netback xen-netback: fix type mismatch warning 2016-10-13 11:02:25 -04:00
dummy.c net: dummy: add more features 2015-10-21 19:36:10 -07:00
eql.c net: better IFF_XMIT_DST_RELEASE support 2014-10-07 13:22:11 -04:00
geneve.c geneve: avoid use-after-free of skb->data 2016-12-02 14:07:11 -05:00
gtp.c gtp: remove unused including <linux/version.h> 2016-06-17 22:28:49 -07:00
ifb.c ifb: support more features 2016-05-09 00:00:28 -04:00
Kconfig ipvlan: Fix dependency issue 2016-09-20 22:55:23 -04:00
LICENSE.SRC Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
loopback.c net: introduce device min_header_len 2017-02-18 15:11:43 +01:00
macsec.c macsec: Fix header length if SCI is added if explicitly disabled 2016-10-27 16:21:00 -04:00
macvlan.c driver: macvlan: Check if need rollback multicast setting in macvlan_open 2016-11-23 20:18:36 -05:00
macvtap.c macvtap: read vnet_hdr_size once 2017-02-18 15:11:42 +01:00
Makefile gtp: add initial driver for datapath of GPRS Tunneling Protocol (GTP-U) 2016-05-10 12:25:04 -04:00
mdio.c mdio: unused ethtool functions 2013-12-26 13:29:35 -05:00
mii.c mii: Handle link state changes for forced modes in mii_check_media() 2015-01-19 15:43:42 -05:00
netconsole.c netconsole: use per-attribute show and store methods 2015-10-13 22:17:51 -07:00
nlmon.c net: nlmon: convert to using IFF_NO_QUEUE 2015-08-18 11:55:05 -07:00
ntb_netdev.c NTB: Add flow control to the ntb_netdev 2015-09-07 15:17:08 -04:00
rionet.c drivers: net: remove NETDEV_TX_LOCKED 2016-04-26 15:53:05 -04:00
sb1000.c PNP: net/sb1000: Use module_pnp_driver to register driver 2015-03-18 22:39:17 +01:00
Space.c net: Fix coding style warnings and errors. 2016-05-19 11:48:27 -07:00
sungem_phy.c sungem: Fix global namespace pollution of phy accessors. 2014-08-27 23:07:12 -07:00
tun.c tun: read vnet_hdr_sz once 2017-02-18 15:11:42 +01:00
veth.c net: veth: Set features for MPLS 2016-08-30 22:27:18 -07:00
virtio_net.c virtio-net: restore VIRTIO_HDR_F_DATA_VALID on receiving 2017-02-04 09:47:09 +01:00
vrf.c net: vrf: do not allow table id 0 2017-01-15 13:42:56 +01:00
vxlan.c vxlan: fix oops in dev_fill_metadata_dst 2017-02-26 11:10:50 +01:00
xen-netfront.c xen-netfront: Delete rx_refill_timer in xennet_disconnect_backend() 2017-02-14 15:25:40 -08:00