Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp5444216imm; Tue, 16 Oct 2018 10:18:38 -0700 (PDT) X-Google-Smtp-Source: ACcGV6348+jeCxObqKfuxIbcZfFCZa6UdjaL8HTPHuBClYiqDHolyBT+jvsmvm2Pm6kAgF/wWr+T X-Received: by 2002:a63:3cc:: with SMTP id 195-v6mr21079291pgd.262.1539710318070; Tue, 16 Oct 2018 10:18:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539710318; cv=none; d=google.com; s=arc-20160816; b=YDd30j9djXvr0Ooa5NWvUAUQ5T2+eom66K+akX3otsLgBIrZAkqEOK6Traq8nbV8K5 PurFOEqPWbOKaQZKbIh4k3dbMWk4ziwnw6FJi4NoCApQ1EGIYXx5n/H1tTLr1MTS78fH aegWZZSl30Wo+UEZTKzzDDUijbTyplQSt9XiKd1mk4zMHMIQdMGjKPiW3jJYDJXq4lGd Jl0j7iOnxVyGT2xPx6uIixcESF2A0aoNbX+4S9JVIW6nxJzo1l1SPfkhpQlZczceC9sE Zsud965vdXIPuC3W7Vu5TKDEAzah00uvQqJeySLqhVc5s8hQgMZOjkm2zNih6NvauedJ EVOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=5nuFr+tl/wLML249gSICHiXsBcbJ4A1scMtKAc2k7J4=; b=Tf3VbdSu/LUPqgGYRzNRmi4d2X3bdjwgpzcBrGnUxuMXSq5ZLBYZHttNlrf2B55s9j VK0Loo6L88qVMToTELMv3x1p5GXWZ1k4JPiMHUaCFyJoQl9A9ZWphMy911BkFdXLlZQP MH94aSsPQ8C5RDY28mHaDkJbXC8k7yWH8FPGcDJqt4O9AazbsCupkm36T64KF1igTEu+ +ySCuJbE66MSI3sVA0kWAXFnp9D3kWfd6AuEC0dqy+/QuEKi4XuR+w56YINyw74QoRA+ zZXlEbdvjYwYW15JOhWlecSDUr0IlEHvOwUsGpZYH3n9LTKE9T+Te4zqmCc7maOINqnK OQDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=atI29g8e; 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 19-v6si14369614pgh.6.2018.10.16.10.18.22; Tue, 16 Oct 2018 10:18:38 -0700 (PDT) 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; dkim=pass header.i=@kernel.org header.s=default header.b=atI29g8e; 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 S1729886AbeJQBIl (ORCPT + 99 others); Tue, 16 Oct 2018 21:08:41 -0400 Received: from mail.kernel.org ([198.145.29.99]:53404 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727486AbeJQBIk (ORCPT ); Tue, 16 Oct 2018 21:08:40 -0400 Received: from localhost (ip-213-127-77-176.ip.prioritytelecom.net [213.127.77.176]) (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 5C7A520866; Tue, 16 Oct 2018 17:17:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1539710236; bh=VRTgUFhX60KM7RboD1O2/CHvu/dK9xuH9z2uEIWyDdQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=atI29g8ecdA8KC/eiPBAhnEba1x08oNPKAwA6+mvY1Ju67TnvUJXSZ+2lCUbF8okJ QWAKuCIQopr/VJo8lHfz/cog/Z3A3++1BaiQJYIXipY+lnKPN0YWyW/pkte3PiNSlO PO1NYk/a7OqcK2taiH+NRyFRq/ox4Mm40lFtHhYY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Stefan Chulski , Antoine Tenart , "David S. Miller" Subject: [PATCH 4.14 014/109] net: mvpp2: fix a txq_done race condition Date: Tue, 16 Oct 2018 19:04:42 +0200 Message-Id: <20181016170525.748533128@linuxfoundation.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181016170524.530541524@linuxfoundation.org> References: <20181016170524.530541524@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Antoine Tenart [ Upstream commit 774268f3e51b53ed432a1ec516574fd5ba469398 ] When no Tx IRQ is available, the txq_done() routine (called from tx_done()) shouldn't be called from the polling function, as in such case it is already called in the Tx path thanks to an hrtimer. This mostly occurred when using PPv2.1, as the engine then do not have Tx IRQs. Fixes: edc660fa09e2 ("net: mvpp2: replace TX coalescing interrupts with hrtimer") Reported-by: Stefan Chulski Signed-off-by: Antoine Tenart Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/marvell/mvpp2.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) --- a/drivers/net/ethernet/marvell/mvpp2.c +++ b/drivers/net/ethernet/marvell/mvpp2.c @@ -6534,10 +6534,12 @@ static int mvpp2_poll(struct napi_struct cause_rx_tx & ~MVPP2_CAUSE_MISC_SUM_MASK); } - cause_tx = cause_rx_tx & MVPP2_CAUSE_TXQ_OCCUP_DESC_ALL_MASK; - if (cause_tx) { - cause_tx >>= MVPP2_CAUSE_TXQ_OCCUP_DESC_ALL_OFFSET; - mvpp2_tx_done(port, cause_tx, qv->sw_thread_id); + if (port->has_tx_irqs) { + cause_tx = cause_rx_tx & MVPP2_CAUSE_TXQ_OCCUP_DESC_ALL_MASK; + if (cause_tx) { + cause_tx >>= MVPP2_CAUSE_TXQ_OCCUP_DESC_ALL_OFFSET; + mvpp2_tx_done(port, cause_tx, qv->sw_thread_id); + } } /* Process RX packets */