work_done = epic_rx(dev, *budget); 
work_done += epic_rx(dev, *budget); 
static int epic_poll(struct net_device *dev, int *budget){	struct epic_private *ep = dev->priv;	int work_done, orig_budget;	long ioaddr = dev->base_addr;	orig_budget = (*budget > dev->quota) ? dev->quota : *budget;rx_action:	epic_tx(dev, ep);	work_done = epic_rx(dev, *budget);	epic_rx_err(dev, ep);	*budget -= work_done;	dev->quota -= work_done;	if (netif_running(dev) && (work_done < orig_budget)) {		unsigned long flags;		int more;		/* A bit baroque but it avoids a (space hungry) spin_unlock */		spin_lock_irqsave(&ep->napi_lock, flags);		more = ep->reschedule_in_poll;		if (!more) {			__netif_rx_complete(dev);			outl(EpicNapiEvent, ioaddr + INTSTAT);			epic_napi_irq_on(dev, ep);		} else			ep->reschedule_in_poll--;		spin_unlock_irqrestore(&ep->napi_lock, flags);		if (more)			goto rx_action;	}	return (work_done >= orig_budget);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b7b1d2021452d0a3562807b6a90dfa5124147a79/epic100.c/buggy/drivers/net/epic100.c