gpio-mlxbf3: During reboot test, ipmb driver fails to load intermittently

Bug #2066198 reported by Asmaa Mnebhi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-bluefield (Ubuntu)
New
Undecided
Unassigned

Bug Description

SRU Justification:

[Impact]

    The ipmb driver failing to load is just the result of i2c-mlxbf
    not receiving interrupts.
    In fact, any driver dependent on the i2c-mlxbf driver will not work.

    How to reproduce this issue?

    - modprobe gpio-mlxbf3
    - modprobe pwr-mlxbf
    - modprobe mlxbf-gige -> this calls into the gpio driver which enables the PHY interrupt (gpio10)
    - reboot linux
      -> graceful reboot does not remove modules so it doesn't disable the PHY interrupt via
         mlxbf3_gpio_irq_disable. Hence, the interrupt remains enabled.
    - In anolis, we don't enforce the dependency between gpio-mlxbf3 and mlxbf-gige.
      So the next time linux boots and loads the driver in this order, we encounter the issue:
    - modprobe mlxbf-gige. The gige driver uses polling in the case where it loads before the gpio
      driver. Note that the interrupt at GPIO10 is still enabled at this point so if the interrupt
      triggers, there is nothing to clear it.
    - modprobe gpio-mlxbf3
    - modprobe i2c-mlxbf. The interrupt wouldn't work here because it is shared with the gpio
      interrupts which was not cleared.

[Fix]

* The solution is to add a shutdown function to the gpio driver to clear and disable all interrupts.
* Also make sure to clear the interrupt after disabling it in the disable irq function.

[Test Case]

* Do the reboot test (2000-3000 iterations)
* Check that all following drivers are loaded without errors: gpio-mlxbf3, pwr_mlxbf, mlxbf-gige, i2c-mlxbf
* check that the ipmb drivers are loaded and functional (send ipmb command to the bmc and vice versa)

[Regression Potential]

* No known regression.

Asmaa Mnebhi (asmaam)
summary: - During reboot test, ipmb driver fails to load intermittently
+ gpio-mlxbf3: During reboot test, ipmb driver fails to load
+ intermittently
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.