From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:54108 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755407AbcFQPgY (ORCPT ); Fri, 17 Jun 2016 11:36:24 -0400 Subject: Patch "net: nps_enet: Disable interrupts before napi reschedule" has been added to the 4.6-stable tree To: eladkan@mellanox.com, abrodkin@synopsys.com, davem@davemloft.net, gregkh@linuxfoundation.org, noamca@mellanox.com Cc: , From: Date: Fri, 17 Jun 2016 08:36:22 -0700 Message-ID: <1466177782186104@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: This is a note to let you know that I've just added the patch titled net: nps_enet: Disable interrupts before napi reschedule to the 4.6-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: net-nps_enet-disable-interrupts-before-napi-reschedule.patch and it can be found in the queue-4.6 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >>From foo@baz Fri Jun 17 08:34:39 PDT 2016 From: Elad Kanfi Date: Thu, 26 May 2016 15:00:06 +0300 Subject: net: nps_enet: Disable interrupts before napi reschedule From: Elad Kanfi [ Upstream commit 86651650d16a359e4142c6a8b0467c87e48c4c94 ] Since NAPI works by shutting down event interrupts when theres work and turning them on when theres none, the net driver must make sure that interrupts are disabled when it reschedules polling. By calling napi_reschedule, the driver switches to polling mode, therefor there should be no interrupt interference. Any received packets will be handled in nps_enet_poll by polling the HW indication of received packet until all packets are handled. Signed-off-by: Elad Kanfi Acked-by: Noam Camus Tested-by: Alexey Brodkin Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/ezchip/nps_enet.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/drivers/net/ethernet/ezchip/nps_enet.c +++ b/drivers/net/ethernet/ezchip/nps_enet.c @@ -205,8 +205,10 @@ static int nps_enet_poll(struct napi_str * re-adding ourselves to the poll list. */ - if (priv->tx_skb && !tx_ctrl_ct) + if (priv->tx_skb && !tx_ctrl_ct) { + nps_enet_reg_set(priv, NPS_ENET_REG_BUF_INT_ENABLE, 0); napi_reschedule(napi); + } } return work_done; Patches currently in stable-queue which might be from eladkan@mellanox.com are queue-4.6/net-nps_enet-disable-interrupts-before-napi-reschedule.patch