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 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:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04: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_boards.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
falcon.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 sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
farch.c sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04:00
filter.h sfc: Use ether_addr_copy and eth_broadcast_addr 2014-03-10 13:53:37 -04:00
io.h sfc: Allocate and link PIO buffers; map them with write-combining 2013-09-20 19:31:49 +01: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: Use ether_addr_copy and eth_broadcast_addr 2014-03-10 13:53:37 -04: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: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 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 net: sfc calls skb_set_hash 2013-12-18 15:00:53 -05:00
selftest.c sfc: Use ether_addr_copy and eth_broadcast_addr 2014-03-10 13:53:37 -04: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 sfc: Use ether_addr_copy and eth_broadcast_addr 2014-03-10 13:53:37 -04:00
siena.c sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04:00
tenxpress.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
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 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