From mboxrd@z Thu Jan 1 00:00:00 1970 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=ham 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 F0FEDC4363D for ; Fri, 25 Sep 2020 12:53:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B466E206DB for ; Fri, 25 Sep 2020 12:53:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1601038397; bh=10+rjzhobR+RtnyIJynio14kN4zwS2zsAfOlSiIypwU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=u52jeX2+pPMUQlqf/JtXg7TQzl43FmhX2TANjZV5xfckIK+KF5SrbOyF1l7dgwTfP OL/xyKf9Bovzkhsc+gkC3lIXdB2cBLyezpvMqGW3a+GR5rkB4RwhF/i0JcwYrae7bc rsljo/f8/UZFXG8PftAbOB+wYcGuB7kRbEd2A/Vs= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729403AbgIYMxQ (ORCPT ); Fri, 25 Sep 2020 08:53:16 -0400 Received: from mail.kernel.org ([198.145.29.99]:58414 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729395AbgIYMxM (ORCPT ); Fri, 25 Sep 2020 08:53:12 -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 043F02075E; Fri, 25 Sep 2020 12:53:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1601038392; bh=10+rjzhobR+RtnyIJynio14kN4zwS2zsAfOlSiIypwU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rSqmFMqeuDjZ7CJsINnkYfmOieLWCl6P1n8+4BhlLGQCzhqURvDegFndgw+7P4XfN U35pktrDem3RZTFkRZy8oJhECWv2iOmfdHF0HMnEM+zhaZabt4lJraFtUhi20WdTy2 ELg/tY6BK85yhA0EO/KfeHyYf8o7MJ/9AiqqXEjw= 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.4 37/43] net: lantiq: Disable IRQs only if NAPI gets scheduled Date: Fri, 25 Sep 2020 14:48:49 +0200 Message-Id: <20200925124729.158570970@linuxfoundation.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200925124723.575329814@linuxfoundation.org> References: <20200925124723.575329814@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@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 @@ -344,10 +344,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; }