From patchwork Fri May 19 07:18:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Konstantin Khlebnikov X-Patchwork-Id: 764477 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3wTfjv68Pzz9ryr for ; Fri, 19 May 2017 17:26:11 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=yandex-team.ru header.i=@yandex-team.ru header.b="D4VDxpu7"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750828AbdESH0J (ORCPT ); Fri, 19 May 2017 03:26:09 -0400 Received: from forwardcorp1g.cmail.yandex.net ([87.250.241.190]:48025 "EHLO forwardcorp1g.cmail.yandex.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750703AbdESH0I (ORCPT ); Fri, 19 May 2017 03:26:08 -0400 X-Greylist: delayed 433 seconds by postgrey-1.27 at vger.kernel.org; Fri, 19 May 2017 03:26:07 EDT Received: from smtpcorp1o.mail.yandex.net (smtpcorp1o.mail.yandex.net [IPv6:2a02:6b8:0:1a2d::30]) by forwardcorp1g.cmail.yandex.net (Yandex) with ESMTP id 2C4ED20BBC; Fri, 19 May 2017 10:18:52 +0300 (MSK) Received: from smtpcorp1o.mail.yandex.net (localhost.localdomain [127.0.0.1]) by smtpcorp1o.mail.yandex.net (Yandex) with ESMTP id 233202440B6E; Fri, 19 May 2017 10:18:52 +0300 (MSK) Received: from unknown (unknown [2a02:6b8:0:40c:ddb:4ef1:8587:a6ad]) by smtpcorp1o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id RMyrZET9Le-IqOqdePN; Fri, 19 May 2017 10:18:52 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client certificate not present) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1495178332; bh=i4NrJjcFiO8jtv6zQl0/A7Ymroq+huoKwq9CiH8dEZE=; h=Subject:From:To:Cc:Date:Message-ID; b=D4VDxpu7BhyjFJ0oJFidWXS1OT9/2VkxHHWcgj3Vi/U6DglLfqMKocKq0MHklJ0x7 8lm3WlVtzyFnbx3BwoMly7NLU90CWUtcOqFZZyvJkkUfh9ys2qvyEPKchzzIdrD7Zs wyJfFFQsygCSxKEmMzRmFIQuu9a9OAs0Xf2RhtY0= Authentication-Results: smtpcorp1o.mail.yandex.net; dkim=pass header.i=@yandex-team.ru Subject: [PATCH] e1000e: use disable_hardirq() also for MSIX vectors in e1000_netpoll() From: Konstantin Khlebnikov To: netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org, Jeff Kirsher Cc: Dave Jones , WANG Cong , "David S. Miller" , Sabrina Dubroca Date: Fri, 19 May 2017 10:18:49 +0300 Message-ID: <149517832870.37403.16008624383220981105.stgit@buzz> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Replace disable_irq() which waits for threaded irq handlers with disable_hardirq() which waits only for hardirq part. Signed-off-by: Konstantin Khlebnikov Fixes: 311191297125 ("e1000: use disable_hardirq() for e1000_netpoll()") Acked-by: Cong Wang Tested-by: Aaron Brown --- drivers/net/ethernet/intel/e1000e/netdev.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index b3679728caac..7f185f481b12 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c @@ -6733,20 +6733,20 @@ static irqreturn_t e1000_intr_msix(int __always_unused irq, void *data) vector = 0; msix_irq = adapter->msix_entries[vector].vector; - disable_irq(msix_irq); - e1000_intr_msix_rx(msix_irq, netdev); + if (disable_hardirq(msix_irq)) + e1000_intr_msix_rx(msix_irq, netdev); enable_irq(msix_irq); vector++; msix_irq = adapter->msix_entries[vector].vector; - disable_irq(msix_irq); - e1000_intr_msix_tx(msix_irq, netdev); + if (disable_hardirq(msix_irq)) + e1000_intr_msix_tx(msix_irq, netdev); enable_irq(msix_irq); vector++; msix_irq = adapter->msix_entries[vector].vector; - disable_irq(msix_irq); - e1000_msix_other(msix_irq, netdev); + if (disable_hardirq(msix_irq)) + e1000_msix_other(msix_irq, netdev); enable_irq(msix_irq); }