Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp5707661img; Wed, 27 Mar 2019 13:39:46 -0700 (PDT) X-Google-Smtp-Source: APXvYqybcNhoWhXG2iyzQQ1kL9aEgobGFumwXRHHlKQaRFMfe/5luVQcwP+bA/VZZ5BlB6NHGOG1 X-Received: by 2002:a63:7117:: with SMTP id m23mr29150150pgc.271.1553719186527; Wed, 27 Mar 2019 13:39:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553719186; cv=none; d=google.com; s=arc-20160816; b=bh7eL01uLdB5MgitEDeqD2NGIJHKbDXbIz3+l1oA2RvUKmbHtq9veVcy0UxQX8zXw0 2mFX8hxLXV87ynFYNWeyxj/XXfKQjY0Yyj2BxttU0E3ma4h48MA8HVL0PRPt5RW0K/TB HIHu9DhYYQo+fUYPAdtkRpGdkuEa4Zq5OGSrHNSwCxsYlCs9RdRpRZcVbqQS1KF6zVqY id77Fc2RnS5QK+D/HlXHJfMJniZCpRfdDtyD3j5c7XW/iMDmBF0r7ef0fxhsTRfYcJs1 R9cd7+v2lB7G7vCSYHflZSS8KhP6P/445NtMRckbUd7/r9Yi6IHiyJit/lXC3BEPlwHY 9Wvg== 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; bh=5lqBXo1Fr8fdsSjoym8E5ZPhosc4Cwdlk0IZt/L8VUQ=; b=iMwBq6us7mVAc84GVv0DI5qzJPvEcSLEdMQ7tQTXIJwczf8xzDZ5t8kRBYV+g52FRr y46zvo7ZpSdIe+aMVFZLAptJRGBdhHTCX5IADBkbzp6wYZZjaFgZ4dOzulxFzF87VHC5 wfrrFGZeamlytkBZLwJI88cY8fx2zM4q8GS0WC051lNLLPcEUr62Va8JZekH8J5W+5De YzA+j1wk710bMGq878jfEnf3D6oHPF+/iz2ecIcOAV9G9l2RorrOLbg+nDlCF3yt6FSg 1hibYsP+SZRIAvzH0J/laFTU+7CJVw4BpmH1CzNmy8vo4NCJmMjpLA5ir+jwhjyWxqcL GOBQ== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=iki.fi Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d17si8740717pgg.367.2019.03.27.13.39.30; Wed, 27 Mar 2019 13:39:46 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=iki.fi Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729381AbfC0Uf4 (ORCPT + 99 others); Wed, 27 Mar 2019 16:35:56 -0400 Received: from emh06.mail.saunalahti.fi ([62.142.5.116]:55292 "EHLO emh06.mail.saunalahti.fi" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728130AbfC0Ufx (ORCPT ); Wed, 27 Mar 2019 16:35:53 -0400 Received: from localhost.localdomain (85-76-9-223-nat.elisa-mobile.fi [85.76.9.223]) by emh06.mail.saunalahti.fi (Postfix) with ESMTP id 06EB330099; Wed, 27 Mar 2019 22:35:51 +0200 (EET) From: Aaro Koskinen To: "David S. Miller" , Jose Abreu , Alexandre Torgue , Giuseppe Cavallaro , netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Aaro Koskinen Subject: [PATCH 4/6] net: stmmac: don't overwrite discard_frame status Date: Wed, 27 Mar 2019 22:35:38 +0200 Message-Id: <20190327203540.1884-5-aaro.koskinen@iki.fi> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20190327203540.1884-1-aaro.koskinen@iki.fi> References: <20190327203540.1884-1-aaro.koskinen@iki.fi> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Aaro Koskinen 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 --- 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.17.0