mbox series

[00/19] cleanup cppcheck warnings for fm10k driver

Message ID 20190708231236.20516-1-jacob.e.keller@intel.com
Headers show
Series cleanup cppcheck warnings for fm10k driver | expand

Message

Keller, Jacob E July 8, 2019, 11:12 p.m. UTC
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(-)