myri10ge: IRQ and pci state cleanups
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest5 patches 1 replyIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | myri10ge: match number of save_state and restoredrivers/ | +10 | 1 reply | |
| 2/5 | myri10ge: move request_irq to myri10ge_opendrivers/ | +54 | 0 replies | |
| 3/5 | myri10ge: make msi configurable at runtime through sysfsdrivers/ | +1 | 0 replies | |
| 4/5 | myri10ge: no need to save MSI and PCIe state in the driverdrivers/ | +9 | 0 replies | |
| 5/5 | myri10ge: handle failures in suspend and resumedrivers/ | +7 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 0/5] myri10ge: IRQ and pci state cleanups
Hi Jeff,
While testing Stephen Hemminger's patch to cleanup the save/restore_state in myri10ge, we discovered some problems in our code. First, since the MSI and PCIe state is saved on a kind of stack, we leak some memory by saving the state both for parity recovery and on suspend. Additionaly, some race between the watchdog and the interrupt handler could lead to similar problems.
We fix all this by first matching the number of pci_save_state() and pci_restore_state() (#1), then moving request_irq() to myri10ge_open() (#2) instead of probe() to eliminate some race.
Apart from cleaning the code, this also enables switching from/to MSI at runtime (#3).
Finally (Stephen's patch), we stop saving the MSI and PCIe states in the driver since the PCI layer does it for us (#4), and handle some failure cases in the suspend and resume routines (#5).
1. match number of save_state and restore
2. move request_irq to myri10ge_open
3. make msi configurable at runtime through sysfs
4. no need to save MSI and PCIe state in the driver
5. handle failures in suspend and resume
Thanks,
Brice