]> git.baikalelectronics.ru Git - kernel.git/commit
e1000e: Print PHY register address when MDI read/write fails
authorChen Yu <yu.c.chen@intel.com>
Tue, 8 Mar 2022 17:20:30 +0000 (09:20 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 10 Mar 2022 03:53:03 +0000 (19:53 -0800)
commit0110187afa35c41a6ef1fd8a1a931fb495ec7085
treed84c95ab2116b3133f15eeaa93a51a14d7926a12
parenta74f8ce0ac3c19063de4880ae9a25d37b91a4acf
e1000e: Print PHY register address when MDI read/write fails

There is occasional suspend error from e1000e which blocks the
system from further suspending. And the issue was found on
a WhiskeyLake-U platform with I219-V:

[   20.078957] PM: pci_pm_suspend(): e1000e_pm_suspend+0x0/0x780 [e1000e] returns -2
[   20.078970] PM: dpm_run_callback(): pci_pm_suspend+0x0/0x170 returns -2
[   20.078974] e1000e 0000:00:1f.6: PM: pci_pm_suspend+0x0/0x170 returned -2 after 371012 usecs
[   20.078978] e1000e 0000:00:1f.6: PM: failed to suspend async: error -2

According to the code flow, this might be caused by broken MDI read/write
to PHY registers. However currently the code does not tell us which
register is broken. Thus enhance the debug information to print the
offender PHY register. So the next the issue is reproduced, this
information could be used for narrow down.

Acked-by: Paul Menzel <pmenzel@molgen.mpg.de>
Reported-by: Todd Brandt <todd.e.brandt@intel.com>
Signed-off-by: Chen Yu <yu.c.chen@intel.com>
Tested-by: Naama Meir <naamax.meir@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Link: https://lore.kernel.org/r/20220308172030.451566-1-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/e1000e/phy.c