From: David S. Miller Date: Tue, 19 Feb 2013 18:04:34 +0000 (-0500) Subject: Revert "xen: netback: remove redundant xenvif_put" X-Git-Tag: v3.12-rc1~1418^2~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=629821d9b05254063df774594cfe15c0343b73f2;p=kernel%2Fkernel-generic.git Revert "xen: netback: remove redundant xenvif_put" 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 --- diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c index 28543d6..cd49ba9 100644 --- a/drivers/net/xen-netback/netback.c +++ b/drivers/net/xen-netback/netback.c @@ -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,