Received: by 10.223.176.5 with SMTP id f5csp1549751wra; Wed, 7 Feb 2018 22:49:11 -0800 (PST) X-Google-Smtp-Source: AH8x2249in+CQcVOunkOyfITjraB1c+JE7AqE3sXp+G82e4qC0A3A81IYoqypkr65fZY73VkN32c X-Received: by 10.99.99.5 with SMTP id x5mr7313901pgb.307.1518072551110; Wed, 07 Feb 2018 22:49:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518072551; cv=none; d=google.com; s=arc-20160816; b=IA2kzAKvYzYqG6vrGIIlVw6R+eg8C26MyDjVOrE/BJz/hoomaFNzEUcegoMggTF9tc nqq0kItI9eIo1tESNzHZaePveMHzKKnXURxZ+Nr7LpGpDMCWOfpqGYsv/n3w6lFHNuhv EV7hQO0qnT21NbxHam2/9VuE7gy9oSZet6q2HSVpUHDHkfWtZWjxHqibXahjwaaLw111 Rlg7dXPBU4I7EKA4eznDQvoiYtbNSI1S6yekT5ORsrZ0fYTVI7ZvNVfV/srAkRR9fa4F Jw46N3G+DsTmY+F6IV2mtG+f1yooRQNOWzDV2B1gKAfCxn593WEQU/jYWi7c/3oHimq0 dFbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=5L4/IDuB/vt9EwkoWT/yjswt6ExNV3I024Wda8iQMA4=; b=1HUAuKUXG/oz1oDZxHfoSpsKHUu+u1t1qwkPgCi6aYAqo/Td7yL9UFxWTNX7S4TMd6 vIxANSKuDcQmMUvU7EZ9Wz54hlyxPHxYuWv8/qYe3kZdYWyiCKpo+xsju/gmnheIeCMa 8tK509fFfuoDgOCzC/2HdhQNVC4QWWTrjLobvgnQWhCVo7Sz8++V3VKdldbTbyBeiiH8 fXpBuQefDQfinq7J/4x5CR5V06d5HXAu7PZPqgFqLP+IDDq7A2tLC9RMGM9Rccg6ba+W epo4QEqsYypNfWecuCqlzPIjdynshPt9oW8ab2d2tbLteTpJPcU9DNzgJfzs0i2Rig3B AHrw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g12-v6si930711plt.638.2018.02.07.22.48.57; Wed, 07 Feb 2018 22:49:11 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751946AbeBHGr0 (ORCPT + 99 others); Thu, 8 Feb 2018 01:47:26 -0500 Received: from mx2.suse.de ([195.135.220.15]:54988 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750807AbeBHGrY (ORCPT ); Thu, 8 Feb 2018 01:47:24 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 53868AE25; Thu, 8 Feb 2018 06:47:23 +0000 (UTC) From: Benjamin Poirier To: Jeff Kirsher Cc: Alexander Duyck , intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-queue 2/3] e1000e: Fix queue interrupt re-raising in Other interrupt. Date: Thu, 8 Feb 2018 15:47:13 +0900 Message-Id: <20180208064714.6042-2-bpoirier@suse.com> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180208064714.6042-1-bpoirier@suse.com> References: <20180208064714.6042-1-bpoirier@suse.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org restores the ICS write for rx/tx queue interrupts which was present before commit 16ecba59bc33 ("e1000e: Do not read ICR in Other interrupt", v4.5-rc1) but was not restored in commit 4aea7a5c5e94 ("e1000e: Avoid receiver overrun interrupt bursts", v4.15-rc1). This re-raises the queue interrupts in case the txq or rxq bits were set in ICR and the Other interrupt handler read and cleared ICR before the queue interrupt was raised. Fixes: 4aea7a5c5e94 ("e1000e: Avoid receiver overrun interrupt bursts") Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/netdev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index 3b36efa6228d..2c9609bee2ae 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c @@ -1919,6 +1919,9 @@ static irqreturn_t e1000_msix_other(int __always_unused irq, void *data) icr = er32(ICR); ew32(ICR, E1000_ICR_OTHER); + if (icr & adapter->eiac_mask) + ew32(ICS, (icr & adapter->eiac_mask)); + if (icr & E1000_ICR_LSC) { ew32(ICR, E1000_ICR_LSC); hw->mac.get_link_status = true; -- 2.16.1