From patchwork Fri Sep 25 12:48:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "gregkh@linuxfoundation.org" X-Patchwork-Id: 309208 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BC94BC4727D for ; Fri, 25 Sep 2020 12:57:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 74788206DB for ; Fri, 25 Sep 2020 12:57:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1601038639; bh=a+LE7N1y/cw6pO1GRiDcCRrheFURuNGYvQyKOMjF/UA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=tHdWZ2XV41bdGPZMXpeqe+A0meVAGC7UzR82dRHBFhiW3PgR7lqTg99EFSrLKid+m jKy4EP/pJE3y9R9lZFtKWxnjqZ3SppIpZxmMuGTjk1K4d62+3FZDl6c2w0ahxHWO+L LF3Aa8kBOWRE03op5O3gvWFkgMv/ubueMY64Wct4= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728121AbgIYMu4 (ORCPT ); Fri, 25 Sep 2020 08:50:56 -0400 Received: from mail.kernel.org ([198.145.29.99]:54966 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729129AbgIYMuz (ORCPT ); Fri, 25 Sep 2020 08:50:55 -0400 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 1CF4021741; Fri, 25 Sep 2020 12:50:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1601038255; bh=a+LE7N1y/cw6pO1GRiDcCRrheFURuNGYvQyKOMjF/UA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YiDe1CUNwCDKD4qzaPbVgztlDQSHZzSW0OiwGotfJGVPloNiwQnUZ3OmpINl12XZb 6sS1xZEsfLvyDbc1zbRKsvEHhWUJuOA2hPI7qyKPvfVpWOGPeBVqQMUR86eef+Yohl b+tFVPwW82o35rCo+PSzr3c9rntdBH4oFFriStTY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Hauke Mehrtens , "David S. Miller" Subject: [PATCH 5.8 38/56] net: lantiq: Disable IRQs only if NAPI gets scheduled Date: Fri, 25 Sep 2020 14:48:28 +0200 Message-Id: <20200925124733.582195949@linuxfoundation.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200925124727.878494124@linuxfoundation.org> References: <20200925124727.878494124@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Hauke Mehrtens [ Upstream commit 9423361da52356cb68642db5b2729b6b85aad330 ] The napi_schedule() call will only schedule the NAPI if it is not already running. To make sure that we do not deactivate interrupts without scheduling NAPI only deactivate the interrupts in case NAPI also gets scheduled. Signed-off-by: Hauke Mehrtens Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/lantiq_xrx200.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) --- a/drivers/net/ethernet/lantiq_xrx200.c +++ b/drivers/net/ethernet/lantiq_xrx200.c @@ -345,10 +345,12 @@ static irqreturn_t xrx200_dma_irq(int ir { struct xrx200_chan *ch = ptr; - ltq_dma_disable_irq(&ch->dma); - ltq_dma_ack_irq(&ch->dma); + if (napi_schedule_prep(&ch->napi)) { + __napi_schedule(&ch->napi); + ltq_dma_disable_irq(&ch->dma); + } - napi_schedule(&ch->napi); + ltq_dma_ack_irq(&ch->dma); return IRQ_HANDLED; }