linux/drivers/net/ethernet/mellanox/mlx4
Yan Burman bfa8ab4741 net/mlx4_en: Fix race when setting the device MAC address
Remove unnecessary use of workqueue for the device MAC address setting
flow, and fix a race when setting MAC address which was introduced by
commit c07cb4b0a "net/mlx4_en: Manage hash of MAC addresses per port"

The race happened when mlx4_en_replace_mac was being executed in parallel
with a successive call to ndo_set_mac_address, e.g witn an A/B/A MAC
setting configuration test, the third set fails.

With this change we also properly report an error if set MAC fails.

Signed-off-by: Yan Burman <yanb@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-03-07 15:52:04 -05:00
..
alloc.c mlx4_core: Change bitmap allocator to work in round-robin fashion 2012-05-14 13:44:38 -07:00
catas.c mlx4: Add support for EEH error recovery 2012-07-25 15:24:13 -07:00
cmd.c mlx4_core: Fix potential deadlock in mlx4_eq_int() 2012-11-29 12:14:54 -08:00
cq.c net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00
en_cq.c mlx4: 64-byte CQE/EQE support 2012-11-26 10:19:17 -08:00
en_dcb_nl.c net/mlx4_en: Can set maxrate only for TC0 2012-11-28 11:15:32 -05:00
en_ethtool.c drivers: net: Remove remaining alloc/OOM messages 2013-02-08 17:44:39 -05:00
en_main.c Main batch of InfiniBand/RDMA changes for 3.9: 2013-02-26 11:41:08 -08:00
en_netdev.c net/mlx4_en: Fix race when setting the device MAC address 2013-03-07 15:52:04 -05:00
en_port.c
en_port.h net/mlx4_core: set port QoS attributes 2012-04-05 05:08:03 -04:00
en_resources.c
en_rx.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
en_selftest.c net/mlx4_en: Optimize loopback related checks in data path 2013-02-07 23:26:12 -05:00
en_tx.c mlx4_en: Fix BQL reset TX queue call point 2013-02-07 23:33:51 -05:00
eq.c First batch of InfiniBand/RDMA changes for the 3.8 merge window: 2012-12-13 19:19:09 -08:00
fw.c net/mlx4_core: Turn off device-managed FS bit in dev-cap wrapper if DMFS is not enabled 2013-03-07 15:52:03 -05:00
fw.h Main batch of InfiniBand/RDMA changes for 3.9: 2013-02-26 11:41:08 -08:00
icm.c mlx4_core: Fix integer overflows so 8TBs of memory registration works 2012-09-13 17:52:02 -07:00
icm.h mlx4_core: Fix integer overflows so 8TBs of memory registration works 2012-09-13 17:52:02 -07:00
intf.c mlx4: Use port management change event instead of smp_snoop 2012-07-10 09:47:10 -07:00
Kconfig mlx4_en: Remove remnants of LRO support 2012-11-19 19:13:59 -05:00
main.c net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00
Makefile net/mlx4_en: DCB QoS support 2012-04-05 05:08:04 -04:00
mcg.c net/mlx4_core: Set correctly allow_loopback flag 2013-01-31 12:48:46 -05:00
mlx4_en.h net/mlx4_en: Fix race when setting the device MAC address 2013-03-07 15:52:04 -05:00
mlx4.h net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00
mr.c net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00
pd.c net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00
port.c net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00
profile.c mlx4_core: Fix integer overflow issues around MTT table 2012-08-15 21:05:26 -07:00
qp.c net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00
reset.c mlx4: Use PCI Express Capability accessors 2012-08-23 10:11:13 -06:00
resource_tracker.c net/mlx4_core: Disable mlx4_QP_ATTACH calls from guests if the host uses flow steering 2013-03-07 15:52:03 -05:00
sense.c Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2012-10-02 09:54:49 -07:00
srq.c net/mlx4_core: Fix endianness bug in set_param_l 2013-03-07 15:52:03 -05:00