aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/chelsio
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/chelsio')
-rw-r--r--drivers/net/chelsio/sge.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/drivers/net/chelsio/sge.c b/drivers/net/chelsio/sge.c
index 9799c12380fc..11c70b59a1a3 100644
--- a/drivers/net/chelsio/sge.c
+++ b/drivers/net/chelsio/sge.c
@@ -929,18 +929,6 @@ static inline void reclaim_completed_tx(struct sge *sge, struct cmdQ *q)
929# define __netif_rx_complete(dev) netif_rx_complete(dev) 929# define __netif_rx_complete(dev) netif_rx_complete(dev)
930#endif 930#endif
931 931
932/*
933 * We cannot use the standard netif_rx_schedule_prep() because we have multiple
934 * ports plus the TOE all multiplexing onto a single response queue, therefore
935 * accepting new responses cannot depend on the state of any particular port.
936 * So define our own equivalent that omits the netif_running() test.
937 */
938static inline int napi_schedule_prep(struct net_device *dev)
939{
940 return !test_and_set_bit(__LINK_STATE_RX_SCHED, &dev->state);
941}
942
943
944/** 932/**
945 * sge_rx - process an ingress ethernet packet 933 * sge_rx - process an ingress ethernet packet
946 * @sge: the sge structure 934 * @sge: the sge structure
@@ -1241,10 +1229,10 @@ static irqreturn_t t1_interrupt_napi(int irq, void *data)
1241 if (e->GenerationBit == q->genbit) { 1229 if (e->GenerationBit == q->genbit) {
1242 if (e->DataValid || 1230 if (e->DataValid ||
1243 process_pure_responses(adapter, e)) { 1231 process_pure_responses(adapter, e)) {
1244 if (likely(napi_schedule_prep(sge->netdev))) 1232 if (likely(__netif_rx_schedule_prep(sge->netdev)))
1245 __netif_rx_schedule(sge->netdev); 1233 __netif_rx_schedule(sge->netdev);
1246 else 1234 else if (net_ratelimit())
1247 printk(KERN_CRIT 1235 printk(KERN_INFO
1248 "NAPI schedule failure!\n"); 1236 "NAPI schedule failure!\n");
1249 } else 1237 } else
1250 writel(q->cidx, adapter->regs + A_SG_SLEEPING); 1238 writel(q->cidx, adapter->regs + A_SG_SLEEPING);