mv643xx_eth: Check ETH_INT_CAUSE_STATE bit
Subsystems (2)
PATCH 1/1 mv643xx_eth: Check ETH_INT_CAUSE_STATE bit
Commit 468d09f8946d40228c56de26fe4874b2f98067ed masked the "state" interrupt (bit 20 of the cause register). This results in Radstone's PPC7D repeatedly re-entering the interrupt routine, locking up the board. The following patch returns the required handling for this interrupt.
Signed-off-by Martyn Welch <[email protected]>
Signed-off-by Dale Farnsworth <[email protected]>
---
Jeff, this is a bug fix.
drivers/net/mv643xx_eth.c | 2 +- drivers/net/mv643xx_eth.h | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-)
drivers/net/mv643xx_eth.c +1 -1
@@ -534,7 +534,7 @@ static irqreturn_t mv643xx_eth_int_handler(int irq, void *dev_id) }/* PHY status changed */ -if (eth_int_cause_ext Ð_INT_CAUSE_PHY ) { +if (eth_int_cause_ext & (ETH_INT_CAUSE_PHY |ETH_INT_CAUSE_STATE )) {struct ethtool_cmd cmd;if (mii_link_ok (&mp->mii)) {
drivers/net/mv643xx_eth.h +3 -1
@@ -64,7 +64,9 @@#define ETH_INT_CAUSE_TX_ERROR (ETH_TX_QUEUES_ENABLED << 8)#define ETH_INT_CAUSE_TX (ETH_INT_CAUSE_TX_DONE | ETH_INT_CAUSE_TX_ERROR)#define ETH_INT_CAUSE_PHY 0x00010000 -#define ETH_INT_UNMASK_ALL_EXT (ETH_INT_CAUSE_TX | ETH_INT_CAUSE_PHY) +#define ETH_INT_CAUSE_STATE 0x00100000 +#define ETH_INT_UNMASK_ALL_EXT (ETH_INT_CAUSE_TX | ETH_INT_CAUSE_PHY | \ + ETH_INT_CAUSE_STATE)#define ETH_INT_MASK_ALL 0x00000000#define ETH_INT_MASK_ALL_EXT 0x00000000
Jeff Garzik
AppliedQuoted 9 lines · Dale Farnsworth
Commit
468d09f8946d40228c56de26fe4874b2f98067edmasked the "state" interrupt (bit 20 of the cause register). This results in Radstone's PPC7D repeatedly re-entering the interrupt routine, locking up the board. The following patch returns the required handling for this interrupt.Signed-off-by Martyn Welch <[email protected]>Signed-off-by Dale Farnsworth <[email protected]>
Quoted 6 lines
---
Jeff, this is a bug fix.drivers/net/mv643xx_eth.c | 2 +- drivers/net/mv643xx_eth.h | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-)
applied to #upstream-fixes