Subject: Re: [v2 PATCH 1/2] bonding: sync netpoll code with bridge

From: Stephen Hemminger <[email-masked]>
Date: Thu, 2 Dec 2010 10:36:50 -0800

On Thu, 2 Dec 2010 08:35:42 -0500
Amerigo Wang <[email-masked]> wrote:

>  #ifdef CONFIG_NET_POLL_CONTROLLER
> -	if (unlikely(bond->dev->priv_flags & IFF_IN_NETPOLL)) {
> -		struct netpoll *np = bond->dev->npinfo->netpoll;
> -		slave_dev->npinfo = bond->dev->npinfo;
> +	if (unlikely(netpoll_tx_running(slave_dev))) {
>  		slave_dev->priv_flags |= IFF_IN_NETPOLL;
> -		netpoll_send_skb_on_dev(np, skb, slave_dev);
> +		bond_netpoll_send_skb(bond_get_slave_by_dev(bond, slave_dev), skb);
>  		slave_dev->priv_flags &= ~IFF_IN_NETPOLL;
>  	} else
>  #endif

Couldn't you eliminate #ifdef by putting the following into header file.

#ifdef CONFIG_NET_POLL_CONTROLLER
static inline netpoll_tx_running
...
#else
#define netpoll_tx_running(dev)  (0)
#endif

--