Revert "xen: netback: remove redundant xenvif_put"
authorDavid S. Miller <davem@davemloft.net>
Tue, 19 Feb 2013 18:04:34 +0000 (13:04 -0500)
committerDavid S. Miller <davem@davemloft.net>
Tue, 19 Feb 2013 18:04:34 +0000 (13:04 -0500)
This reverts commit d37204566a61d5116d385ae909db8e14a734b30f.

This change is incorrect, as per Jan Beulich:

====================
But this is wrong from all we can tell, we discussed this before
(Wei pointed to the discussion in an earlier reply). The core of
it is that the put here parallels the one in netbk_tx_err(), and
the one in xenvif_carrier_off() matches the get from
xenvif_connect() (which normally would be done on the path
coming through xenvif_disconnect()).
====================

And a previous discussion of this issue is at:

http://marc.info/?l=xen-devel&m=136084174026977&w=2

Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/xen-netback/netback.c

index 28543d6..cd49ba9 100644 (file)
@@ -893,6 +893,7 @@ static void netbk_fatal_tx_err(struct xenvif *vif)
 {
        netdev_err(vif->dev, "fatal error; disabling device\n");
        xenvif_carrier_off(vif);
+       xenvif_put(vif);
 }
 
 static int netbk_count_requests(struct xenvif *vif,