[PATCH 0/3] ata: sata_dwc_460ex: fix PHY lifecycle and sactive_issued races

Rosen Penev posted 3 patches 1 day, 21 hours ago
drivers/ata/sata_dwc_460ex.c | 46 +++++++++++++++++++++++-------------
1 file changed, 30 insertions(+), 16 deletions(-)
[PATCH 0/3] ata: sata_dwc_460ex: fix PHY lifecycle and sactive_issued races
Posted by Rosen Penev 1 day, 21 hours ago
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