Tom Rix <[EMAIL PROTECTED]> :
[...]
diff -rup a/drivers/net/sb1250-mac.c b/drivers/net/sb1250-mac.c
--- a/drivers/net/sb1250-mac.c  2006-03-09 04:25:41.000000000 -0600
+++ b/drivers/net/sb1250-mac.c  2006-03-09 05:30:52.000000000 -0600
[...]
@@ -2079,13 +2095,31 @@ static irqreturn_t sbmac_intr(int irq,vo
                 * Transmits on channel 0
                 */
 
+#if defined(CONFIG_SBMAC_NAPI)
                if (isr & (M_MAC_INT_CHANNEL << S_MAC_TX_CH0)) {
-                       sbdma_tx_process(sc,&(sc->sbm_txdma));
+                       sbdma_tx_process(sc,&(sc->sbm_txdma), 0);
                }
 
                /*
                 * Receives on channel 0
                 */
+               if (isr & (M_MAC_INT_CHANNEL << S_MAC_RX_CH0)) {
+                       if (netif_rx_schedule_prep(dev))
+                       {

An irq could appear here. I am skeptical that it is safe to write
the irq mask register so late.

One should probably consider a break in the enclosing "for" loop too.


+                               __raw_writeq(0, sc->sbm_imr);
+                               __netif_rx_schedule(dev);
+                       }
+                       else
+                       {

} else {, please.

-- 
Ueimor
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to