Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp661546yba; Wed, 24 Apr 2019 07:38:02 -0700 (PDT) X-Google-Smtp-Source: APXvYqzvmT3OS5CRp2M149e2corftnMwiqMLRWkGRmzAXD/CO/eMF2qON9KmB0pRw8N5iAqFN9wF X-Received: by 2002:a17:902:e281:: with SMTP id cf1mr33059535plb.13.1556116682586; Wed, 24 Apr 2019 07:38:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556116682; cv=none; d=google.com; s=arc-20160816; b=wX1dOTyZVKlQ0T55a8BhfQfkgXVj/wGAh/BOhYVpEbL8bIQUPhGnv/A4hCusg3vl2Y IJGg8mDYZ4A6th7v2/hrzXICasJAWlqrbrE+WpmE2f+hGPXC6qwhplGCI4ZxY1NTP0lB fU8EEyBpD1XNVTny2KkVwfk5QG6lr30w5GDkhljmGSAA6zihbAm5pelGQZ8b6HbwzabA L9EfluukTMB8oFU4uhQSOpbkUXg7cwuY2mWSbpcLm/JyXF1mmUtVcQDD+w3mBNWfoh0s jVWoFd68HmjMxfdXV7nK12xEDkBTckxD1KYz5YOwHg7vTh8UmBwYuZVRi5QP5ykFCdkE pvcg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=OCBx87hKvBOH+m98fF4lQP6/ezFS7E4pwdpMRWsf35A=; b=cv7bv16Yav/2EkKSBMJG5mqZp6vMdg387vbiBl+D6Gg9PV8nnglKEZnjRHUKm5od9W bHBdxUC956eZQLFxRw3zA/g7j+PHDze7nnHX6zelfvBZLte/cRX2yLqmtwka20wXYGnf S7/lNCK5nrL0L52vaax6c7mZ4APrVntb6BB2M+WIoV8J4SPX2wZSmll/W79Y5VJ9byPL /D3gAxCu72InCyrUgO1h+3OfXcf7nBQZ7r1zVPyJ/CnrHAjpYyTIw62PVqCl0PNwEC8w UemNYDOsxtz+kx4zq3EgXJvwSOCeOnqanpuYulGoJGsTsoVYgQxHkgwCWwtfsCuC4GuY mkSw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ylD7RC3X; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a13si17796798pgi.60.2019.04.24.07.37.47; Wed, 24 Apr 2019 07:38:02 -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=ylD7RC3X; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731247AbfDXOfC (ORCPT + 99 others); Wed, 24 Apr 2019 10:35:02 -0400 Received: from mail.kernel.org ([198.145.29.99]:38802 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731221AbfDXOe6 (ORCPT ); Wed, 24 Apr 2019 10:34:58 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A875E2089F; Wed, 24 Apr 2019 14:34:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556116498; bh=EFSQ9u5wySpiyGffQdYoWw+rHUwBzRR7MZSBgAmefEg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ylD7RC3X3gQFqe6WHlJ3pFNcA6eg+gmc+6OeawrRNe9HId9O55OJklQKp5EDAoo2X Ay8aH/ogmhA9lawgSPuJGZGydMyP6l8YF3LX+OLkJAOGtU8mMD+M06U8QkEyyqQXlh XHht6t/GQaOK+US7Gw8+834sHYCYFf9eR1lLfJKY= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Aaro Koskinen , "David S . Miller" , Sasha Levin , netdev@vger.kernel.org Subject: [PATCH AUTOSEL 5.0 30/66] net: stmmac: don't overwrite discard_frame status Date: Wed, 24 Apr 2019 10:33:04 -0400 Message-Id: <20190424143341.27665-30-sashal@kernel.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190424143341.27665-1-sashal@kernel.org> References: <20190424143341.27665-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Aaro Koskinen [ Upstream commit 1b746ce8b397e58f9e40ce5c63b7198de6930482 ] If we have error bits set, the discard_frame status will get overwritten by checksum bit checks, which might set the status back to good one. Fix by checking the COE status only if the frame is good. Signed-off-by: Aaro Koskinen Signed-off-by: David S. Miller Signed-off-by: Sasha Levin (Microsoft) --- drivers/net/ethernet/stmicro/stmmac/enh_desc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/enh_desc.c b/drivers/net/ethernet/stmicro/stmmac/enh_desc.c index e8855e6adb48..c42ef6c729c0 100644 --- a/drivers/net/ethernet/stmicro/stmmac/enh_desc.c +++ b/drivers/net/ethernet/stmicro/stmmac/enh_desc.c @@ -231,9 +231,10 @@ static int enh_desc_get_rx_status(void *data, struct stmmac_extra_stats *x, * It doesn't match with the information reported into the databook. * At any rate, we need to understand if the CSUM hw computation is ok * and report this info to the upper layers. */ - ret = enh_desc_coe_rdes0(!!(rdes0 & RDES0_IPC_CSUM_ERROR), - !!(rdes0 & RDES0_FRAME_TYPE), - !!(rdes0 & ERDES0_RX_MAC_ADDR)); + if (likely(ret == good_frame)) + ret = enh_desc_coe_rdes0(!!(rdes0 & RDES0_IPC_CSUM_ERROR), + !!(rdes0 & RDES0_FRAME_TYPE), + !!(rdes0 & ERDES0_RX_MAC_ADDR)); if (unlikely(rdes0 & RDES0_DRIBBLING)) x->dribbling_bit++; -- 2.19.1