[PATCH] chelsio: use __netif_rx_schedule_prep
authorStephen Hemminger <shemminger@osdl.org>
Sat, 18 Nov 2006 01:00:34 +0000 (17:00 -0800)
committerJeff Garzik <jeff@garzik.org>
Sat, 2 Dec 2006 05:16:37 +0000 (00:16 -0500)
The chelsio driver can use __netif_rx_schedule_prep instead of it's own
test_and_set inline.  Applies after the previous 4 patches.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/chelsio/sge.c

index 9799c12380fce7126be57d76dbaa2a9682a89186..11c70b59a1a3c20443a7558c4e3d857e5990e655 100644 (file)
@@ -929,18 +929,6 @@ static inline void reclaim_completed_tx(struct sge *sge, struct cmdQ *q)
 # define __netif_rx_complete(dev) netif_rx_complete(dev)
 #endif
 
-/*
- * We cannot use the standard netif_rx_schedule_prep() because we have multiple
- * ports plus the TOE all multiplexing onto a single response queue, therefore
- * accepting new responses cannot depend on the state of any particular port.
- * So define our own equivalent that omits the netif_running() test.
- */
-static inline int napi_schedule_prep(struct net_device *dev)
-{
-       return !test_and_set_bit(__LINK_STATE_RX_SCHED, &dev->state);
-}
-
-
 /**
  *     sge_rx - process an ingress ethernet packet
  *     @sge: the sge structure
@@ -1241,10 +1229,10 @@ static irqreturn_t t1_interrupt_napi(int irq, void *data)
                if (e->GenerationBit == q->genbit) {
                        if (e->DataValid ||
                            process_pure_responses(adapter, e)) {
-                               if (likely(napi_schedule_prep(sge->netdev)))
+                               if (likely(__netif_rx_schedule_prep(sge->netdev)))
                                        __netif_rx_schedule(sge->netdev);
-                               else
-                                       printk(KERN_CRIT
+                               else if (net_ratelimit())
+                                       printk(KERN_INFO
                                               "NAPI schedule failure!\n");
                        } else
                        writel(q->cidx, adapter->regs + A_SG_SLEEPING);