linux/drivers/net/ethernet/sfc
Edward Cree f650fb456f sfc: fix addr_list_lock spinlock use before init
Reported by Nikolay Aleksandrov.  In efx_init_port() we call
 efx_mac_reconfigure() to work around a Falcon/A1 limitation, and this calls
 efx_{arch}_filter_sync_rx_mode(), which takes the addr_list_lock; but this
 lock is uninitialised, because we haven't called register_netdevice() yet.
So, in efx_farch_filter_sync_rx_mode(), check efx_dev_registered() before
 doing anything else.
The EF10 equivalent, efx_ef10_filter_sync_rx_mode(), already has the
 corresponding check.

Signed-off-by: Edward Cree <ecree@solarflare.com>
Tested-by: Nikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-16 16:33:34 -04:00
..
bitfield.h sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
ef10_regs.h sfc: Remove unused definitions of EF10 user-mode DMA descriptors 2014-02-12 17:53:34 -05:00
ef10.c sfc: add extra RX drop counters for nodesc_trunc and noskb_drop 2014-07-15 22:53:34 -07:00
efx.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
efx.h sfc: Add support for busy polling 2014-07-22 19:55:20 -07:00
enum.h sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04:00
ethtool.c sfc: Add per-queue statistics in ethtool 2014-07-17 16:48:36 -07:00
falcon_boards.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
falcon.c sfc: add extra RX drop counters for nodesc_trunc and noskb_drop 2014-07-15 22:53:34 -07:00
farch_regs.h sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
farch.c sfc: fix addr_list_lock spinlock use before init 2014-09-16 16:33:34 -04:00
filter.h sfc: Use ether_addr_copy and eth_broadcast_addr 2014-03-10 13:53:37 -04:00
io.h sfc: PIO:Restrict to 64bit arch and use 64-bit writes. 2014-06-11 15:36:21 -07:00
Kconfig sfc: Minimal support for 40G link speed 2013-09-05 22:32:57 +01:00
Makefile sfc: Add support for Solarflare SFC9100 family 2013-08-29 19:19:29 +01:00
mcdi_mon.c sfc: Add new sensor names 2013-12-12 22:06:54 +00:00
mcdi_pcol.h sfc: Update MCDI protocol definitions 2013-12-06 22:29:20 +00:00
mcdi_port.c sfc: Add 40G link capability decoding 2014-07-14 19:11:48 -07:00
mcdi.c sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04:00
mcdi.h sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04:00
mdio_10g.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
mdio_10g.h sfc: Remove extern from function prototypes 2013-09-24 12:52:53 -07:00
mtd.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
net_driver.h sfc: Add support for busy polling 2014-07-22 19:55:20 -07:00
nic.c sfc: fix calling of free_irq with already free vector 2014-05-12 14:56:45 -04:00
nic.h sfc: add extra RX drop counters for nodesc_trunc and noskb_drop 2014-07-15 22:53:34 -07:00
phy.h sfc: Remove extern from function prototypes 2013-09-24 12:52:53 -07:00
ptp.c ptp: drivers: set the number of programmable pins. 2014-03-21 14:21:14 -04:00
qt202x_phy.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
rx.c sfc: Add support for busy polling 2014-07-22 19:55:20 -07:00
selftest.c sfc: Add support for busy polling 2014-07-22 19:55:20 -07:00
selftest.h sfc: Add MC BISTs to ethtool offline self test on EF10 2013-12-12 22:05:48 +00:00
siena_sriov.c net-next:v4: Add support to configure SR-IOV VF minimum and maximum Tx rate through ip tool. 2014-05-23 15:04:02 -04:00
siena.c sfc: add extra RX drop counters for nodesc_trunc and noskb_drop 2014-07-15 22:53:34 -07:00
tenxpress.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
tx.c sfc: Use __iowrite64_copy instead of a slightly different local function 2014-07-29 15:30:29 -07:00
txc43128_phy.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
vfdi.h sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
workarounds.h sfc: Update copyright banners 2013-08-29 23:34:51 +01:00