linux/drivers/net/ethernet
Horatiu Vultur a81541041c net: mscc: fix in frame extraction
Each extracted frame on Ocelot has an IFH. The frame and IFH are extracted
by reading chuncks of 4 bytes from a register.

In case the IFH and frames were read corretly it would try to read the next
frame. In case there are no more frames in the queue, it checks if there
were any previous errors and in that case clear the queue. But this check
will always succeed also when there are no errors. Because when extracting
the IFH the error is checked against 4(number of bytes read) and then the
error is set only if the extraction of the frame failed. So in a happy case
where there are no errors the err variable is still 4. So it could be
a case where after the check that there are no more frames in the queue, a
frame will arrive in the queue but because the error is not reseted, it
would try to flush the queue. So the frame will be lost.

The fix consist in resetting the error after reading the IFH.

Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-02-17 14:02:29 -08:00
..
3com net: 3com: 3c59x: remove set but not used variable 'mii_reg1' 2020-01-08 12:40:03 -08:00
8390 netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
adaptec netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
aeroflex
agere net: convert suitable network drivers to use phy_do_ioctl 2020-01-21 10:50:41 +01:00
alacritech remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
allwinner net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
alteon netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
altera remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
amazon net: ena: ena-com.c: prevent NULL pointer dereference 2020-02-11 17:08:31 -08:00
amd Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
apm drivers: net: xgene: Fix the order of the arguments of 'alloc_etherdev_mqs()' 2020-01-27 11:23:13 +01:00
apple netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
aquantia net: atlantic: fix out of range usage of active_vlans array 2020-02-16 19:03:40 -08:00
arc net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
atheros Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
aurora net: convert additional drivers to use phy_do_ioctl 2020-01-22 21:16:32 +01:00
broadcom net: systemport: Avoid RBUF stuck in Wake-on-LAN mode 2020-02-06 14:28:52 +01:00
brocade Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
cadence net: macb: ensure interface is not suspended on at91rm9200 2020-02-16 18:41:30 -08:00
calxeda netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
cavium net: thunderx: use proper interface type for RGMII 2020-02-08 15:28:09 +01:00
chelsio cxgb4: Added tls stats prints. 2020-02-06 11:26:49 +01:00
cirrus netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
cisco enic: prevent waking up stopped tx queues over watchdog reset 2020-02-12 09:43:26 -08:00
cortina Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 15:15:05 -08:00
davicom net: ethernet: dm9000: Handle -EPROBE_DEFER in dm9000_parse_dt() 2020-02-16 20:01:43 -08:00
dec net: ethernet: dec: tulip: Fix length mask in receive length calculation 2020-02-05 14:21:31 +01:00
dlink netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
emulex Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 15:15:05 -08:00
ezchip
faraday net: convert suitable network drivers to use phy_do_ioctl 2020-01-21 10:50:41 +01:00
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-02-08 17:15:08 -08:00
fujitsu netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
google Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-01-09 12:13:43 -08:00
hisilicon net: hns3: fix a copying IPv6 address error in hclge_fd_get_flow_tuples() 2020-02-14 07:05:17 -08:00
huawei Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 15:15:05 -08:00
i825xx Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
ibm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 15:15:05 -08:00
intel ice: Trivial fixes 2020-02-12 11:49:12 -08:00
marvell net: mvneta: move rx_dropped and rx_errors in per-cpu stats 2020-02-06 11:29:38 +01:00
mediatek netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
mellanox mlxsw: spectrum_dpipe: Add missing error path 2020-02-07 18:47:01 +01:00
micrel net: ks8851-ml: Fix 16-bit IO operation 2020-02-16 19:41:09 -08:00
microchip net: Introduce peer to peer one step PTP time stamping. 2019-12-25 19:51:34 -08:00
moxa
mscc net: mscc: fix in frame extraction 2020-02-17 14:02:29 -08:00
myricom net: myri10ge: use skb_list_walk_safe helper for gso segments 2020-01-08 15:19:55 -08:00
natsemi Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
neterion netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
netronome Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
ni
nvidia netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
nxp net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
oki-semi Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 15:15:05 -08:00
packetengines netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
pasemi
pensando ionic: fix rxq comp packet type mask 2020-01-31 08:43:05 -08:00
qlogic qed: Fix timestamping issue for L2 unicast ptp packets. 2020-02-05 15:19:34 +01:00
qualcomm net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
rdc net: convert suitable network drivers to use phy_do_ioctl 2020-01-21 10:50:41 +01:00
realtek r8169: fix performance regression related to PCIe max read request size 2020-02-06 14:17:44 +01:00
renesas net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
rocker ipv4: Remove old route notifications and convert listeners 2019-12-16 16:14:43 -08:00
samsung net: convert additional drivers to use phy_do_ioctl 2020-01-22 21:16:32 +01:00
seeq netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
sgi net: sgi: ioc3-eth: Remove leftover free_irq() 2020-02-05 13:53:54 +01:00
silan netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
sis netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
socionext net: ethernet: ave: Add capability of rgmii-id mode 2020-02-12 09:55:04 -08:00
stmicro net: stmmac: update pci platform data to use phy_interface 2020-02-07 11:36:22 +01:00
sun sunvnet: use icmp_ndo_send helper 2020-02-13 14:19:00 -08:00
synopsys netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
tehuti
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
toshiba net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
tundra
via via-velocity: allow nesting of ethtool_ops begin() and complete() 2020-01-06 13:54:55 -08:00
wiznet netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
xilinx Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
xircom netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
xscale net: ethernet: ixp4xx: Use parent dev for DMA pool 2020-01-12 12:59:53 -08:00
dnet.c net: convert suitable drivers to use phy_do_ioctl_running 2020-01-23 10:49:30 +01:00
dnet.h
ec_bhf.c
ethoc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
fealnx.c netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
jme.c netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
jme.h
Kconfig
korina.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
lantiq_etop.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-01-28 16:02:33 -08:00
lantiq_xrx200.c
Makefile