1
0
Fork 0
alistair23-linux/drivers/net/ethernet/marvell
Gregory CLEMENT 5888511ea0 net: mvneta: The mvneta_percpu_elect function should be atomic
Electing a CPU must be done in an atomic way: it should be done after or
before the removal/insertion of a CPU and this function is not reentrant.

During the loop of mvneta_percpu_elect we associates the queues to the
CPUs, if there is a topology change during this loop, then the mapping
between the CPUs and the queues could be wrong. During this loop the
interrupt mask is also updating for each CPUs, It should not be changed
in the same time by other part of the driver.

This patch adds spinlock to create the needed critical sections.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-02-13 06:02:19 -05:00
..
Kconfig mvneta: add FIXED_PHY dependency 2015-11-09 11:35:03 -05:00
Makefile ethernet: Add new driver for Marvell Armada 375 network unit 2014-07-10 17:18:24 -07:00
mv643xx_eth.c net: mv643xx_eth: fix packet corruption with TSO and tiny unaligned packets. 2016-01-28 16:08:01 -08:00
mvmdio.c mdio: Move allocation of interrupts into core 2016-01-07 14:31:26 -05:00
mvneta.c net: mvneta: The mvneta_percpu_elect function should be atomic 2016-02-13 06:02:19 -05:00
mvpp2.c net: mvpp2: Return correct error codes 2016-02-13 05:57:39 -05:00
pxa168_eth.c pxa168: fix double deallocation of managed resources 2015-04-26 16:05:49 -04:00
skge.c skge: Unmask interrupts in case of spurious interrupts 2014-12-05 21:33:19 -08:00
skge.h
sky2.c net: Rename NETIF_F_ALL_CSUM to NETIF_F_CSUM_MASK 2015-12-15 16:50:08 -05:00
sky2.h sky2: Receive Overflows not counted 2013-03-29 14:53:19 -04:00