if(np->poll_owner == smp_processor_id() || np->dev->xmit_lock_owner == smp_processor_id()) { 
npinfo = np->dev->npinfo; if (npinfo->poll_owner == smp_processor_id() || np->dev->xmit_lock_owner == smp_processor_id()) { 
static void netpoll_send_skb(struct netpoll *np, struct sk_buff *skb){	int status;repeat:	if(!np || !np->dev || !netif_running(np->dev)) {		__kfree_skb(skb);		return;	}	/* avoid recursion */	if(np->poll_owner == smp_processor_id() ||	   np->dev->xmit_lock_owner == smp_processor_id()) {		if (np->drop)			np->drop(skb);		else			__kfree_skb(skb);		return;	}	spin_lock(&np->dev->xmit_lock);	np->dev->xmit_lock_owner = smp_processor_id();	/*	 * network drivers do not expect to be called if the queue is	 * stopped.	 */	if (netif_queue_stopped(np->dev)) {		np->dev->xmit_lock_owner = -1;		spin_unlock(&np->dev->xmit_lock);		netpoll_poll(np);		goto repeat;	}	status = np->dev->hard_start_xmit(skb, np->dev);	np->dev->xmit_lock_owner = -1;	spin_unlock(&np->dev->xmit_lock);	/* transmit busy */	if(status) {		netpoll_poll(np);		goto repeat;	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/115c1d6e61b70851d9a363328c3b8d4c2559a1d3/netpoll.c/clean/net/core/netpoll.c