diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/fec_mpc52xx.c | 23 | ||||
-rw-r--r-- | drivers/serial/mpc52xx_uart.c | 2 |
2 files changed, 14 insertions, 11 deletions
diff --git a/drivers/net/fec_mpc52xx.c b/drivers/net/fec_mpc52xx.c index e5e6352556fa..d21b7ab64bd1 100644 --- a/drivers/net/fec_mpc52xx.c +++ b/drivers/net/fec_mpc52xx.c | |||
@@ -491,20 +491,23 @@ static irqreturn_t mpc52xx_fec_interrupt(int irq, void *dev_id) | |||
491 | 491 | ||
492 | out_be32(&fec->ievent, ievent); /* clear pending events */ | 492 | out_be32(&fec->ievent, ievent); /* clear pending events */ |
493 | 493 | ||
494 | if (ievent & ~(FEC_IEVENT_RFIFO_ERROR | FEC_IEVENT_XFIFO_ERROR)) { | 494 | /* on fifo error, soft-reset fec */ |
495 | if (ievent & ~FEC_IEVENT_TFINT) | 495 | if (ievent & (FEC_IEVENT_RFIFO_ERROR | FEC_IEVENT_XFIFO_ERROR)) { |
496 | dev_dbg(&dev->dev, "ievent: %08x\n", ievent); | 496 | |
497 | if (net_ratelimit() && (ievent & FEC_IEVENT_RFIFO_ERROR)) | ||
498 | dev_warn(&dev->dev, "FEC_IEVENT_RFIFO_ERROR\n"); | ||
499 | if (net_ratelimit() && (ievent & FEC_IEVENT_XFIFO_ERROR)) | ||
500 | dev_warn(&dev->dev, "FEC_IEVENT_XFIFO_ERROR\n"); | ||
501 | |||
502 | mpc52xx_fec_reset(dev); | ||
503 | |||
504 | netif_wake_queue(dev); | ||
497 | return IRQ_HANDLED; | 505 | return IRQ_HANDLED; |
498 | } | 506 | } |
499 | 507 | ||
500 | if (net_ratelimit() && (ievent & FEC_IEVENT_RFIFO_ERROR)) | 508 | if (ievent & ~FEC_IEVENT_TFINT) |
501 | dev_warn(&dev->dev, "FEC_IEVENT_RFIFO_ERROR\n"); | 509 | dev_dbg(&dev->dev, "ievent: %08x\n", ievent); |
502 | if (net_ratelimit() && (ievent & FEC_IEVENT_XFIFO_ERROR)) | ||
503 | dev_warn(&dev->dev, "FEC_IEVENT_XFIFO_ERROR\n"); | ||
504 | 510 | ||
505 | mpc52xx_fec_reset(dev); | ||
506 | |||
507 | netif_wake_queue(dev); | ||
508 | return IRQ_HANDLED; | 511 | return IRQ_HANDLED; |
509 | } | 512 | } |
510 | 513 | ||
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c index d93b3578c5e2..7a3625f52a03 100644 --- a/drivers/serial/mpc52xx_uart.c +++ b/drivers/serial/mpc52xx_uart.c | |||
@@ -1221,8 +1221,8 @@ static struct of_device_id mpc52xx_uart_of_match[] = { | |||
1221 | #endif | 1221 | #endif |
1222 | #ifdef CONFIG_PPC_MPC512x | 1222 | #ifdef CONFIG_PPC_MPC512x |
1223 | { .compatible = "fsl,mpc5121-psc-uart", .data = &mpc512x_psc_ops, }, | 1223 | { .compatible = "fsl,mpc5121-psc-uart", .data = &mpc512x_psc_ops, }, |
1224 | {}, | ||
1225 | #endif | 1224 | #endif |
1225 | {}, | ||
1226 | }; | 1226 | }; |
1227 | 1227 | ||
1228 | static int __devinit | 1228 | static int __devinit |