From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: [PATCH v2,1/1] net/hyperv: Fix the code handling tx busy Date: Mon, 19 Mar 2012 14:23:11 -0700 Message-ID: <1332192191.9397.62.camel@edumazet-glaptop> References: <1332192233-32305-1-git-send-email-haiyangz@microsoft.com> <1332192233-32305-2-git-send-email-haiyangz@microsoft.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: devel@linuxdriverproject.org, netdev@vger.kernel.org, davem@davemloft.net, linux-kernel@vger.kernel.org To: Haiyang Zhang Return-path: In-Reply-To: <1332192233-32305-2-git-send-email-haiyangz@microsoft.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devel-bounces@linuxdriverproject.org Sender: devel-bounces@linuxdriverproject.org List-Id: netdev.vger.kernel.org On Mon, 2012-03-19 at 14:23 -0700, Haiyang Zhang wrote: > Instead of dropping the packet, we keep the skb buffer, and return > NETDEV_TX_BUSY to let upper layer retry send. This will not cause > endless loop, because the host is taking data away from ring buffer, > and we have called the stop_queue before returning NETDEV_TX_BUSY. > > The stop_queue was called in the function netvsc_send() in file > netvsc.c, then it returns to rndis_filter_send(), which returns to > netvsc_start_xmit() in file netvsc_drv.c. So the NETDEV_TX_BUSY is > indeed returned AFTER queue is stopped. > > Signed-off-by: Haiyang Zhang > Reviewed-by: K. Y. Srinivasan > --- Thanks Acked-by: Eric Dumazet