From patchwork Mon Jul 8 23:12:17 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacob Keller X-Patchwork-Id: 1129409 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=osuosl.org (client-ip=140.211.166.137; helo=fraxinus.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=intel.com Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 45jLp94JWBz9sNT for ; Tue, 9 Jul 2019 09:12:46 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 4262985A57; Mon, 8 Jul 2019 23:12:44 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C6QZsnj2mO9s; Mon, 8 Jul 2019 23:12:42 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id E05F685A72; Mon, 8 Jul 2019 23:12:42 +0000 (UTC) X-Original-To: intel-wired-lan@lists.osuosl.org Delivered-To: intel-wired-lan@lists.osuosl.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id 8FFC41BF46A for ; Mon, 8 Jul 2019 23:12:41 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 8D733214EB for ; Mon, 8 Jul 2019 23:12:41 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id l-pcYuA0whQM for ; Mon, 8 Jul 2019 23:12:39 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by silver.osuosl.org (Postfix) with ESMTPS id CED0E20356 for ; Mon, 8 Jul 2019 23:12:39 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Jul 2019 16:12:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,468,1557212400"; d="scan'208";a="192484769" Received: from jekeller-desk.amr.corp.intel.com ([10.166.244.172]) by fmsmga002.fm.intel.com with ESMTP; 08 Jul 2019 16:12:39 -0700 From: Jacob Keller To: Intel Wired LAN Date: Mon, 8 Jul 2019 16:12:17 -0700 Message-Id: <20190708231236.20516-1-jacob.e.keller@intel.com> X-Mailer: git-send-email 2.22.0.214.g8dca754b1e87 MIME-Version: 1.0 Subject: [Intel-wired-lan] [PATCH 00/19] cleanup cppcheck warnings for fm10k driver X-BeenThere: intel-wired-lan@osuosl.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Wired Ethernet Linux Kernel Driver Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-wired-lan-bounces@osuosl.org Sender: "Intel-wired-lan" This series contains several patches which resolve various warnings generated by using the cppcheck tool on the fm10k driver source code. The most comment fix is to reduce the scope of local variables where possible, and the first 10 patches fix issues like this. The remaining 9 patches fix other issues found by the tool. Only one of the patches contains what is likely a bug fix. Specifically, the last patch in the series fixes a 64-bit register read issue where we failed to bitwise or the high and low registers together. As this is only in the reporting flow for fault detection, it is relatively minor. This series does not fix all of the cppcheck warnings: [fm10k_ethtool.c:332]: (style) Argument 'idx!=29' to function BUG_ON is always 0 This warning is due to the fact that we can't use BUILD_BUG_ON. cppcheck is smart enough to realize that the index will always be 29, and thus that BUG_ON will never be triggered. [fm10k_mbx.c:335] -> [fm10k_mbx.c:356]: (style) Variable 'head' is reassigned a value before the old one has been used. [fm10k_mbx.c:350] -> [fm10k_mbx.c:356]: (style) Variable 'head' is reassigned a value before the old one has been used. [fm10k_mbx.c:428] -> [fm10k_mbx.c:442]: (style) Variable 'tail' is reassigned a value before the old one has been used. [fm10k_mbx.c:439] -> [fm10k_mbx.c:442]: (style) Variable 'tail' is reassigned a value before the old one has been used. These are almost certainly due to a bug in cppcheck analysis. The head and tail values are assigned initially outside the loop. Then, they're updated in the for loop. However, they aren't updated until the end of the *first* for-loop iteration. I think cppcheck doesn't understand this and thus assumes that the value will be overwritten before its first use. Jacob Keller (19): fm10k: reduce scope of the err variable fm10k: reduce scope of *p local variable fm10k: reduce the scope of qv local variable fm10k: reduce the scope of local err variable fm10k: reduce the scope of the q_idx local variable fm10k: reduce the scope of the tx_buffer variable fm10k: reduce the scope of the err variable fm10k: reduce the scope of the local i variable fm10k: reduce the scope of the local msg variable fm10k: reduce the scope of the result local variable fm10k: reduce scope of the ring variable fm10k: remove unnecessary variable initializer fm10k: remove needless assignment of err local variable fm10k: remove needless initialization of size local variable fm10k: explicitly return 0 on success path in function fm10k: cast page_addr to u8 * when incrementing it fm10k: mark unused parameters with __always_unused fm10k: convert NON_Q_VECTORS(hw) into NON_Q_VECTORS fm10k: fix fm10k_get_fault_pf to read correct address drivers/net/ethernet/intel/fm10k/fm10k.h | 10 +++----- .../net/ethernet/intel/fm10k/fm10k_dcbnl.c | 6 ++--- .../net/ethernet/intel/fm10k/fm10k_ethtool.c | 15 +++++------ drivers/net/ethernet/intel/fm10k/fm10k_iov.c | 5 ++-- drivers/net/ethernet/intel/fm10k/fm10k_main.c | 15 +++++------ drivers/net/ethernet/intel/fm10k/fm10k_mbx.c | 11 +++++--- .../net/ethernet/intel/fm10k/fm10k_netdev.c | 20 +++++++-------- drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 20 +++++++-------- drivers/net/ethernet/intel/fm10k/fm10k_pf.c | 15 ++++++----- drivers/net/ethernet/intel/fm10k/fm10k_tlv.c | 9 ++++--- drivers/net/ethernet/intel/fm10k/fm10k_type.h | 2 +- drivers/net/ethernet/intel/fm10k/fm10k_vf.c | 25 +++++++++++-------- 12 files changed, 78 insertions(+), 75 deletions(-)