diff options
| author | David S. Miller <davem@davemloft.net> | 2013-02-08 18:02:14 -0500 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2013-02-08 18:02:14 -0500 | 
| commit | fd5023111cf720db890ef34f305ac5d427e690a0 (patch) | |
| tree | 4d21e9a02bfbdafe5fc598af0755db791238dbe7 /drivers/net/xen-netback/interface.c | |
| parent | 8b9a4d56866e0dca6ae886ed9bff777e50d0b70c (diff) | |
| parent | 836dc9e3fbbab0c30aa6e664417225f5c1fb1c39 (diff) | |
| download | blackbird-op-linux-fd5023111cf720db890ef34f305ac5d427e690a0.tar.gz blackbird-op-linux-fd5023111cf720db890ef34f305ac5d427e690a0.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Synchronize with 'net' in order to sort out some l2tp, wireless, and
ipv6 GRE fixes that will be built on top of in 'net-next'.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/xen-netback/interface.c')
| -rw-r--r-- | drivers/net/xen-netback/interface.c | 23 | 
1 files changed, 14 insertions, 9 deletions
| diff --git a/drivers/net/xen-netback/interface.c b/drivers/net/xen-netback/interface.c index f733cae3d4b6..fc1b8d78f4bc 100644 --- a/drivers/net/xen-netback/interface.c +++ b/drivers/net/xen-netback/interface.c @@ -345,17 +345,22 @@ err:  	return err;  } -void xenvif_disconnect(struct xenvif *vif) +void xenvif_carrier_off(struct xenvif *vif)  {  	struct net_device *dev = vif->dev; -	if (netif_carrier_ok(dev)) { -		rtnl_lock(); -		netif_carrier_off(dev); /* discard queued packets */ -		if (netif_running(dev)) -			xenvif_down(vif); -		rtnl_unlock(); -		xenvif_put(vif); -	} + +	rtnl_lock(); +	netif_carrier_off(dev); /* discard queued packets */ +	if (netif_running(dev)) +		xenvif_down(vif); +	rtnl_unlock(); +	xenvif_put(vif); +} + +void xenvif_disconnect(struct xenvif *vif) +{ +	if (netif_carrier_ok(vif->dev)) +		xenvif_carrier_off(vif);  	atomic_dec(&vif->refcnt);  	wait_event(vif->waiting_to_free, atomic_read(&vif->refcnt) == 0); | 

