[SRU][J:linux-bluefield][PATCH v1 0/2] mlxbf_gige: call request_irq() after NAPI initialized
David Thompson
davthompson at nvidia.com
Mon Apr 1 14:01:52 UTC 2024
BugLink: https://bugs.launchpad.net/bugs/2059310
SRU Justification:
[Impact]
The mlxbf_gige driver encounters a NULL pointer exception in
mlxbf_gige_open() when kdump is enabled. The exception happens
because there is a pending RX interrupt before the call to
request_irq(RX IRQ) executes. Then, the RX IRQ handler fires
immediately after this request_irq() completes. The RX IRQ handler
runs "napi_schedule()" before NAPI is fully initialized via
"netif_napi_add()" and "napi_enable()", both which happen later
in the open() logic.
[Fix]
The logic in mlxbf_gige_open() must fully initialize NAPI before
any calls to request_irq() execute.
[Test Case]
* Boot BF platform and bring up "oob_net0" interface
* Enable kdump completely
* Trigger kdump via "echo c > /proc/sysrq-trigger"
* There should be no exceptions from mlxbf_gige driver
[Regression Potential]
There is low potential for regression as this brings in upstream content.
[Other]
None
David Thompson (2):
mlxbf_gige: stop PHY during open() error paths
mlxbf_gige: call request_irq() after NAPI initialized
.../mellanox/mlxbf_gige/mlxbf_gige_main.c | 21 ++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
--
2.30.1
More information about the kernel-team
mailing list