Commit 15d658cb authored by Stephen Hemminger's avatar Stephen Hemminger Committed by Greg Kroah-Hartman

sky2: clear status IRQ after empty

Don't clear status IRQ until list has been read to avoid causing
status list wraparound. Clearing IRQ forces a Transmit Status update
if it is pending.
Signed-off-by: default avatarStephen Hemminger <shemminger@osdl.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 66976367
......@@ -2016,6 +2016,9 @@ static int sky2_status_intr(struct sky2_hw *hw, int to_do)
}
}
/* Fully processed status ring so clear irq */
sky2_write32(hw, STAT_CTRL, SC_STAT_CLR_IRQ);
exit_loop:
return work_done;
}
......@@ -2218,9 +2221,6 @@ static int sky2_poll(struct net_device *dev0, int *budget)
*budget -= work_done;
dev0->quota -= work_done;
if (status & Y2_IS_STAT_BMU)
sky2_write32(hw, STAT_CTRL, SC_STAT_CLR_IRQ);
if (sky2_more_work(hw))
return 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment