OSDN Git Service

ide: fix accidental LOCKDEP breakage caused by local_irq_set() removal
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Wed, 14 Jan 2009 18:19:02 +0000 (19:19 +0100)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Wed, 14 Jan 2009 18:19:02 +0000 (19:19 +0100)
commit 54cc1428cfa619e16d75baae8cb041a2eff015f0 ("ide: remove
local_irq_set() macro") accidentally replaced local_save_flags()
by local_irq_set() in ide_probe_port() and __ide_wait_stat()
which resulted in LOCKDEP breakage.

Reported-by: Larry Finger <Larry.Finger@lwfinger.net>
Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/ide-iops.c
drivers/ide/ide-probe.c

index e728cfe..753b92e 100644 (file)
@@ -493,7 +493,7 @@ static int __ide_wait_stat(ide_drive_t *drive, u8 good, u8 bad, unsigned long ti
        stat = tp_ops->read_status(hwif);
 
        if (stat & ATA_BUSY) {
-               local_irq_save(flags);
+               local_save_flags(flags);
                local_irq_enable_in_hardirq();
                timeout += jiffies;
                while ((stat = tp_ops->read_status(hwif)) & ATA_BUSY) {
index 0ccbb44..312127e 100644 (file)
@@ -796,7 +796,7 @@ static int ide_probe_port(ide_hwif_t *hwif)
        if (irqd)
                disable_irq(hwif->irq);
 
-       local_irq_save(flags);
+       local_save_flags(flags);
        local_irq_enable_in_hardirq();
 
        if (ide_port_wait_ready(hwif) == -EBUSY)