The patch titled natsemi: avoid IntrStatus lossage if RX state machine resets has been removed from the -mm tree. Its filename was natsemi-avoid-intrstatus-lossage-if-rx-state-machine-resets.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: natsemi: avoid IntrStatus lossage if RX state machine resets From: Mark Brown <broonie@xxxxxxxxxxxxx> This patch fixes the poll routine for the natsemi driver so that if the driver detects an RX state machine lockup then no interrupts will be lost while the driver recovers from that. Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/net/natsemi.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff -puN drivers/net/natsemi.c~natsemi-avoid-intrstatus-lossage-if-rx-state-machine-resets drivers/net/natsemi.c --- a/drivers/net/natsemi.c~natsemi-avoid-intrstatus-lossage-if-rx-state-machine-resets +++ a/drivers/net/natsemi.c @@ -2169,6 +2169,14 @@ static int natsemi_poll(struct net_devic dev->name, np->intr_status, readl(ioaddr + IntrMask)); + /* netdev_rx() may read IntrStatus again if the RX state + * machine falls over so do it first. */ + if (np->intr_status & + (IntrRxDone | IntrRxIntr | RxStatusFIFOOver | + IntrRxErr | IntrRxOverrun)) { + netdev_rx(dev, &work_done, work_to_do); + } + if (np->intr_status & (IntrTxDone | IntrTxIntr | IntrTxIdle | IntrTxErr)) { spin_lock(&np->lock); @@ -2180,12 +2188,6 @@ static int natsemi_poll(struct net_devic if (np->intr_status & IntrAbnormalSummary) netdev_error(dev, np->intr_status); - if (np->intr_status & - (IntrRxDone | IntrRxIntr | RxStatusFIFOOver | - IntrRxErr | IntrRxOverrun)) { - netdev_rx(dev, &work_done, work_to_do); - } - *budget -= work_done; dev->quota -= work_done; _ Patches currently in -mm which might be from broonie@xxxxxxxxxxxxx are git-netdev-all.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html