linux/drivers/net/sfc
Ben Hutchings 94dec6a2d2 sfc: Fix crash in legacy onterrupt handler during ring reallocation
If we are using a legacy interrupt, our IRQ may be shared and our
interrupt handler may be called even though interrupts are disabled on
the NIC. When we change ring sizes, we reallocate the event queue and
the interrupt handler may use an invalid pointer when called for
another device's interrupt.

Maintain a legacy_irq_enabled flag and test that at the top of the
interrupt handler.  Note that this problem results from the need to
work around broken INT_ISR0 reads, and does not affect the legacy
interrupt handler for Falcon A1.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
2010-12-07 19:30:19 +00:00
..
bitfield.h sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00
efx.c sfc: Fix crash in legacy onterrupt handler during ring reallocation 2010-12-07 19:30:19 +00:00
efx.h sfc: make functions static 2010-10-21 03:09:43 -07:00
enum.h sfc: Update version, copyright dates, authors 2009-11-29 17:23:58 -08:00
ethtool.c sfc: make functions static 2010-10-21 03:09:43 -07:00
falcon_boards.c sfc: Add support for SFE4003 board and TXC43128 PHY 2010-09-22 13:26:45 -07:00
falcon_xmac.c sfc: make functions static 2010-10-21 03:09:43 -07:00
falcon.c sfc: Add support for SFE4003 board and TXC43128 PHY 2010-09-22 13:26:45 -07:00
filter.c sfc: Don't try to set filters with search depths we know won't work 2010-10-08 10:36:10 -07:00
filter.h sfc: Add filter table management 2010-09-21 14:58:00 -07:00
io.h sfc: Implement message level control 2010-06-24 22:13:22 -07:00
Kconfig sfc: Add support for SFC9000 family (2) 2009-11-29 17:23:57 -08:00
mac.h sfc: make functions static 2010-10-21 03:09:43 -07:00
Makefile sfc: Add support for SFE4003 board and TXC43128 PHY 2010-09-22 13:26:45 -07:00
mcdi_mac.c sfc: Implement message level control 2010-06-24 22:13:22 -07:00
mcdi_pcol.h sfc: Update MCDI protocol definitions 2010-04-28 12:44:37 -07:00
mcdi_phy.c sfc: make functions static 2010-10-21 03:09:43 -07:00
mcdi.c sfc: make functions static 2010-10-21 03:09:43 -07:00
mcdi.h sfc: make functions static 2010-10-21 03:09:43 -07:00
mdio_10g.c sfc: Remove support for SFN4111T, SFT9001 and Falcon GMAC 2010-09-22 13:26:45 -07:00
mdio_10g.h sfc: Implement message level control 2010-06-24 22:13:22 -07:00
mtd.c sfc: Log MTD errors using partition name, not just net device name 2010-06-24 22:13:22 -07:00
net_driver.h sfc: Fix crash in legacy onterrupt handler during ring reallocation 2010-12-07 19:30:19 +00:00
nic.c sfc: Fix crash in legacy onterrupt handler during ring reallocation 2010-12-07 19:30:19 +00:00
nic.h sfc: Add support for RX flow hash control 2010-06-30 14:10:04 -07:00
phy.h sfc: Add support for SFE4003 board and TXC43128 PHY 2010-09-22 13:26:45 -07:00
qt202x_phy.c sfc: Implement message level control 2010-06-24 22:13:22 -07:00
regs.h sfc: Add filter table management 2010-09-21 14:58:00 -07:00
rx.c sfc: Make the dmaq size a run-time setting (rather than compile-time) 2010-09-10 12:27:33 -07:00
selftest.c sfc: make functions static 2010-10-21 03:09:43 -07:00
selftest.h sfc: Create multiple TX queues 2010-04-28 12:44:44 -07:00
siena.c sfc: make functions static 2010-10-21 03:09:43 -07:00
spi.h sfc: Extend MTD driver for use with new NICs 2009-11-29 17:23:54 -08:00
tenxpress.c sfc: Remove support for SFN4111T, SFT9001 and Falcon GMAC 2010-09-22 13:26:45 -07:00
tx.c sfc: Make the dmaq size a run-time setting (rather than compile-time) 2010-09-10 12:27:33 -07:00
txc43128_phy.c sfc: Add support for SFE4003 board and TXC43128 PHY 2010-09-22 13:26:45 -07:00
workarounds.h sfc: Remove support for SFN4111T, SFT9001 and Falcon GMAC 2010-09-22 13:26:45 -07:00