netdev: octeon_mgmt: Fix race manipulating irq bits.

Don't re-read the interrupt status register, clear the exact bits we
will be testing.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David Daney 2010-05-05 13:03:10 +00:00 committed by David S. Miller
parent 4d30b8013b
commit a0cfa850ac

View file

@ -598,8 +598,7 @@ static irqreturn_t octeon_mgmt_interrupt(int cpl, void *dev_id)
mixx_isr.u64 = cvmx_read_csr(CVMX_MIXX_ISR(port));
/* Clear any pending interrupts */
cvmx_write_csr(CVMX_MIXX_ISR(port),
cvmx_read_csr(CVMX_MIXX_ISR(port)));
cvmx_write_csr(CVMX_MIXX_ISR(port), mixx_isr.u64);
cvmx_read_csr(CVMX_MIXX_ISR(port));
if (mixx_isr.s.irthresh) {