Skip to content

Commit 33fb0d0

Browse files
Alexander Gordeevhtejun
authored andcommitted
AHCI: Do not acquire ata_host::lock from single IRQ handler
There is no need to acquire ata_host::lock spinlock from hardware context single IRQ interrupt handler since the handler does not access host data that could be altered by concurrent processors. Signed-off-by: Alexander Gordeev <[email protected]> Signed-off-by: Tejun Heo <[email protected]> Cc: [email protected]
1 parent 18dcf43 commit 33fb0d0

File tree

1 file changed

+0
-4
lines changed

1 file changed

+0
-4
lines changed

drivers/ata/libahci.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1875,8 +1875,6 @@ static irqreturn_t ahci_single_irq_intr(int irq, void *dev_instance)
18751875

18761876
irq_masked = irq_stat & hpriv->port_map;
18771877

1878-
spin_lock(&host->lock);
1879-
18801878
for (i = 0; i < host->n_ports; i++) {
18811879
struct ata_port *ap;
18821880

@@ -1908,8 +1906,6 @@ static irqreturn_t ahci_single_irq_intr(int irq, void *dev_instance)
19081906
*/
19091907
writel(irq_stat, mmio + HOST_IRQ_STAT);
19101908

1911-
spin_unlock(&host->lock);
1912-
19131909
VPRINTK("EXIT\n");
19141910

19151911
return handled ? IRQ_WAKE_THREAD : IRQ_NONE;

0 commit comments

Comments
 (0)