OSDN Git Service

igc: Fix overwrites when dumping registers
authorAndre Guedes <andre.guedes@intel.com>
Fri, 28 Feb 2020 08:19:57 +0000 (00:19 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 17 Apr 2020 17:19:24 +0000 (10:19 -0700)
commitb8a61ea15cdf8524f91dbad90a4f1fae13b0120b
tree0e2044e4f0b439522c51d1bbac8ce60f3bd7a573
parent89d35511f38da851c71c3ad9d2b8197ee34e0846
igc: Fix overwrites when dumping registers

This patch fixes some register overwriting when dumping registers via
ethtool.

We have a total of 16 RAL registers, starting at offset 139. So RAH
offset should be 139 + 16 = 155, not 145. As result some RAL registers
are overwritten. Likewise, RAH registers are also overwritten by TDBAL,
TDBAH, TDLEN, and TDH registers.

To fix this bug while preserving the ABI, this patch re-writes RAL and
RAH registers at the end of 'regs_buff' and bumps regs->version. It also
removes some pointless comments in the middle of igc_set_regs().

Signed-off-by: Andre Guedes <andre.guedes@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igc/igc_ethtool.c