alistair23-linux/drivers/net/ethernet/sfc
Nikolay Aleksandrov 1c3639005f sfc: fix calling of free_irq with already free vector
If the sfc driver is in legacy interrupt mode (either explicitly by
using interrupt_mode module param or by falling back to it) it will
hit a warning at kernel/irq/manage.c because it will try to free an irq
which wasn't allocated by it in the first place because the MSI(X) irqs are
zero and it'll try to free them unconditionally. So fix it by checking if
we're in legacy mode and freeing the appropriate irqs.

CC: Zenghui Shi <zshi@redhat.com>
CC: Ben Hutchings <ben@decadent.org.uk>
CC: <linux-net-drivers@solarflare.com>
CC: Shradha Shah <sshah@solarflare.com>
CC: David S. Miller <davem@davemloft.net>

Fixes: 1899c111a5 ("sfc: Fix IRQ cleanup in case of a probe failure")
Reported-by: Zenghui Shi <zshi@redhat.com>
Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
Acked-by: Shradha Shah <sshah@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-05-12 14:56:45 -04:00
..
bitfield.h
ef10.c sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04:00
ef10_regs.h sfc: Remove unused definitions of EF10 user-mode DMA descriptors 2014-02-12 17:53:34 -05:00
efx.c sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04:00
efx.h sfc: Update product naming 2014-02-12 17:53:35 -05: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: Use ether_addr_copy and eth_broadcast_addr 2014-03-10 13:53:37 -04:00
falcon.c sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04:00
falcon_boards.c
farch.c sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04:00
farch_regs.h
filter.h sfc: Use ether_addr_copy and eth_broadcast_addr 2014-03-10 13:53:37 -04:00
io.h
Kconfig
Makefile
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
mcdi_mon.c
mcdi_pcol.h
mcdi_port.c sfc: Use ether_addr_copy and eth_broadcast_addr 2014-03-10 13:53:37 -04:00
mdio_10g.c
mdio_10g.h
mtd.c
net_driver.h sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04:00
nic.c sfc: fix calling of free_irq with already free vector 2014-05-12 14:56:45 -04:00
nic.h sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04:00
phy.h
ptp.c ptp: drivers: set the number of programmable pins. 2014-03-21 14:21:14 -04:00
qt202x_phy.c
rx.c
selftest.c sfc: Use ether_addr_copy and eth_broadcast_addr 2014-03-10 13:53:37 -04:00
selftest.h
siena.c sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04:00
siena_sriov.c sfc: Use ether_addr_copy and eth_broadcast_addr 2014-03-10 13:53:37 -04:00
tenxpress.c
tx.c sfc: Rename 'use_options' variable in tso_start() to clearer 'use_opt_desc' 2014-02-12 17:53:35 -05:00
txc43128_phy.c
vfdi.h
workarounds.h