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 28543d6c8e405238b4e487f72a8d0699cbab856c..cd49ba9496361cccfceeaa4dbf8251cf3657e763 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,