ice: Fix bad register reads
authorAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Sat, 16 May 2020 00:36:35 +0000 (17:36 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 23 May 2020 05:24:29 +0000 (22:24 -0700)
The "ethtool -d" handler reads registers in the ice_regs_dump_list array
and returns read values back to the userspace.

The register offsets PFINT0_ITR* are not valid as per the specification
and reading these causes a "unable to handle kernel paging request" bug
in the driver. Remove these registers from ice_regs_dump_list.

Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_ethtool.c
drivers/net/ethernet/intel/ice/ice_hw_autogen.h

index 72105d7..477ad33 100644 (file)
@@ -142,9 +142,6 @@ static const u32 ice_regs_dump_list[] = {
        QINT_RQCTL(0),
        PFINT_OICR_ENA,
        QRX_ITR(0),
-       PF0INT_ITR_0(0),
-       PF0INT_ITR_1(0),
-       PF0INT_ITR_2(0),
 };
 
 struct ice_priv_flag {
index 1f9b427..2f1c776 100644 (file)
@@ -6,9 +6,6 @@
 #ifndef _ICE_HW_AUTOGEN_H_
 #define _ICE_HW_AUTOGEN_H_
 
-#define PF0INT_ITR_0(_i)                       (0x03000004 + ((_i) * 4096))
-#define PF0INT_ITR_1(_i)                       (0x03000008 + ((_i) * 4096))
-#define PF0INT_ITR_2(_i)                       (0x0300000C + ((_i) * 4096))
 #define QTX_COMM_DBELL(_DBQM)                  (0x002C0000 + ((_DBQM) * 4))
 #define QTX_COMM_HEAD(_DBQM)                   (0x000E0000 + ((_DBQM) * 4))
 #define QTX_COMM_HEAD_HEAD_S                   0