Subject: Re: [RFC] split NAPI from network device.

From: Divy Le Ray <[email-masked]>
Date: Thu, 22 Feb 2007 04:24:35 -0800

Hi Dave,
>
> @@ -919,10 +920,7 @@ int dev_close(struct net_device *dev)
>  	 * engine, but this requires more changes in devices. */
>  
>  	smp_mb__after_clear_bit(); /* Commit netif_running(). */
> -	while (test_bit(__LINK_STATE_RX_SCHED, &dev->state)) {
> -		/* No hurry. */
> -		msleep(1);
> -	}
> +	netif_poll_disable(dev);
When dev_close() exits, NAPI_STATE_SCHED will be set,
whereas __LINK_STATE_RX_SCHED was previously reset.
The cxgb3 driver assumes that the device is not scheduled after the 
interface was brought up.
It's no longer true if the interface is brought up, brought down, and 
then brought up.
Should cxgb3 explicitly call napi_enable() on the open() path ?

Cheers,
Divy