This series addresses two related issues in the sata_dwc_460ex driver:
1. PHY lifecycle ordering on device removal: The PHY was being powered off
before the link was properly torn down, causing issues during device
removal. The fix ensures proper ordering by tearing down the link first
before powering off the PHY.
2. Data race on hsdev->sactive_issued in interrupt handler: A data race
was identified on the sactive_issued field accessed from both the
interrupt handler and the task context. This is fixed by using atomic
operations and preserving the state across ISR invocations.
The third patch preserves the sactive_issued state across interrupt handler
invocations to prevent losing track of issued commands during interrupt
processing.
Rosen Penev (3):
ata: sata_dwc_460ex: fix PHY lifecycle ordering on device removal
ata: sata_dwc_460ex: fix data race on hsdev->sactive_issued in
interrupt handler
ata: sata_dwc_460ex: preserve sactive_issued state across ISR
invocations
drivers/ata/sata_dwc_460ex.c | 46 +++++++++++++++++++++++-------------
1 file changed, 30 insertions(+), 16 deletions(-)
---
2.55.0