[SRU][F:linux-bluefield][PATCH v2 0/1] UBUNTU: SAUCE: mlxbf_gige: clear valid_polarity upon open

David Thompson davthompson at nvidia.com
Wed Sep 8 15:57:21 UTC 2021


BugLink: https://bugs.launchpad.net/bugs/1942932

SRU Justification:

[Impact]
* The oob_net0 interface, managed by the mlxbf_gige driver, will be
  up and enabled but can stop processing received packets if three
  specific conditions occur:
  1) driver has received more than (N * RxRingSize) packets but less
     than (N+1 * RxRingSize) packets where N is an odd number.
     Note: the command "ethtool -g oob_net0" will display the current
     receive ring size, which currently defaults to 128.
  2) the driver's interface was disabled via "ifconfig oob_net0 down"
     during the window described in #1.
  3) the driver's interface is re-enabled via "ifconfig oob_net0 up"

  Without this fix, the driver needs to be unloaded and re-loaded
  to correct this condition.

[Fix]
* The fix is to ensure that the driver's "valid_polarity" field
  is cleared during the open() method so that it always matches
  the receive polarity used by hardware.

[Test Case]
* To test this fix, need to send in a specific number of packets to
  the "oob_net0" interface, then issue "ifconfig oob_net0 down" to
  disable the interface.  A subsequent "ifconfig oob_net0 up" command
  will succesfully bring up the "oob_net0" interface and start the
  processing of received packets.

[Regression Potential]
* There is low risk of this fix causing any problems.

[Other]
* n/a

David Thompson (1):
  UBUNTU: SAUCE: mlxbf_gige: clear valid_polarity upon open

 drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_main.c | 7 +++++++
 1 file changed, 7 insertions(+)

-- 
2.30.1




More information about the kernel-team mailing list