Commit 86c27d27 authored by Stephen Hemminger's avatar Stephen Hemminger Committed by Jeff Garzik

[PATCH] chelsio: use __netif_rx_schedule_prep

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: default avatarStephen Hemminger <shemminger@osdl.org>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent e487647a
...@@ -929,18 +929,6 @@ static inline void reclaim_completed_tx(struct sge *sge, struct cmdQ *q) ...@@ -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) # define __netif_rx_complete(dev) netif_rx_complete(dev)
#endif #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_rx - process an ingress ethernet packet
* @sge: the sge structure * @sge: the sge structure
...@@ -1241,10 +1229,10 @@ static irqreturn_t t1_interrupt_napi(int irq, void *data) ...@@ -1241,10 +1229,10 @@ static irqreturn_t t1_interrupt_napi(int irq, void *data)
if (e->GenerationBit == q->genbit) { if (e->GenerationBit == q->genbit) {
if (e->DataValid || if (e->DataValid ||
process_pure_responses(adapter, e)) { 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); __netif_rx_schedule(sge->netdev);
else else if (net_ratelimit())
printk(KERN_CRIT printk(KERN_INFO
"NAPI schedule failure!\n"); "NAPI schedule failure!\n");
} else } else
writel(q->cidx, adapter->regs + A_SG_SLEEPING); writel(q->cidx, adapter->regs + A_SG_SLEEPING);
......
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