linux/drivers/net/ethernet/ti
Tony Lindgren cd2d6d33e2 net: davinci_emac: Fix hangs with interrupts
On davinci_emac, we have pulse interrupts. This means that we need to
clear the EOI bits when disabling interrupts as otherwise the interrupts
keep happening. And we also need to not clear the EOI bits again when
enabling the interrupts as otherwise we will get tons of:

unexpected IRQ trap at vector 00

These errors almost certainly mean that the omap-intc.c is signaling
a spurious interrupt with the reserved irq 127 as we've seen earlier
on omap3.

Let's fix the issue by clearing the EOI bits when disabling the
interrupts. Let's also keep the comment for "Rx Threshold and Misc
interrupts are not enabled" for both enable and disable so people
are aware of this when potentially adding more support.

Note that eventually we should handle the RX and TX interrupts
separately like cpsw is now doing. However, so far I have not seen
any issues with this based on my testing, so it seems to behave a
little different compared to the cpsw that had a similar issue.

Cc: Brian Hutchinson <b.hutchman@gmail.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-01-16 01:00:03 -05:00
..
cpmac.c ethernet: ti: remove unwanted THIS_MODULE macro 2014-09-09 11:59:14 -07:00
cpsw_ale.c drivers: net: cpsw: fix multicast flush in dual emac mode 2015-01-13 16:54:23 -05:00
cpsw_ale.h drivers: net: cpsw: fix multicast flush in dual emac mode 2015-01-13 16:54:23 -05:00
cpsw-phy-sel.c ethernet: ti: remove unwanted THIS_MODULE macro 2014-09-09 11:59:14 -07:00
cpsw.c drivers: net: cpsw: fix cpsw hung with add vlan using vconfig 2015-01-15 13:57:07 -05:00
cpsw.h net: cpsw: header, Add missing include 2014-09-30 01:30:43 -04:00
cpts.c net: ptp: fix time stamp matching logic for VLAN packets. 2014-11-12 15:06:17 -05:00
cpts.h ti: Remove extern from function prototypes 2013-09-24 12:54:10 -07:00
davinci_cpdma.c drivers: net: davinci_cpdma: remove spinlock as SOFTIRQ-unsafe lock order detected 2014-10-14 15:59:38 -04:00
davinci_cpdma.h net/davinci_cpdma: remove unused argument in cpdma_chan_submit() 2013-04-25 04:11:50 -04:00
davinci_emac.c net: davinci_emac: Fix hangs with interrupts 2015-01-16 01:00:03 -05:00
davinci_mdio.c ethernet: ti: remove unwanted THIS_MODULE macro 2014-09-09 11:59:14 -07:00
Kconfig drivers: net : cpsw: Update Kconfig for CPSW 2014-12-09 13:44:16 -05:00
Makefile drivers: net: cpsw-phy-sel: Add new driver for phy mode selection for cpsw 2013-09-24 10:33:07 -04:00
tlan.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
tlan.h tlan: Don't scream if no link 2014-07-07 17:06:52 -07:00