net: arc_emac: disable interrupts
The driver doesn't use interrupts and Linux driver crashes when emac interrupts are enabled at boot: keep them disabled. Signed-off-by: Beniamino Galvani <b.galvani@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
b158af4f08
commit
15b0abce26
|
@ -210,9 +210,6 @@ static int arc_emac_open(struct eth_device *edev)
|
|||
arc_reg_set(priv, R_RX_RING, (unsigned int)priv->rxbd);
|
||||
arc_reg_set(priv, R_TX_RING, (unsigned int)priv->txbd);
|
||||
|
||||
/* Enable interrupts */
|
||||
arc_reg_set(priv, R_ENABLE, RXINT_MASK | ERR_MASK);
|
||||
|
||||
/* Set CONTROL */
|
||||
arc_reg_set(priv, R_CTRL,
|
||||
(RX_BD_NUM << 24) | /* RX BD table length */
|
||||
|
@ -317,9 +314,6 @@ static void arc_emac_halt(struct eth_device *edev)
|
|||
{
|
||||
struct arc_emac_priv *priv = edev->priv;
|
||||
|
||||
/* Disable interrupts */
|
||||
arc_reg_clr(priv, R_ENABLE, RXINT_MASK | ERR_MASK);
|
||||
|
||||
/* Disable EMAC */
|
||||
arc_reg_clr(priv, R_CTRL, EN_MASK);
|
||||
}
|
||||
|
@ -440,6 +434,9 @@ static int arc_emac_probe(struct device_d *dev)
|
|||
/* Set poll rate so that it polls every 1 ms */
|
||||
arc_reg_set(priv, R_POLLRATE, clock_frequency / 1000000);
|
||||
|
||||
/* Disable interrupts */
|
||||
arc_reg_set(priv, R_ENABLE, 0);
|
||||
|
||||
mdiobus_register(miibus);
|
||||
eth_register(edev);
|
||||
|
||||
|
|
Loading…
Reference in New Issue