diff options
author | Ingo Molnar <mingo@elte.hu> | 2006-07-03 03:25:25 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-07-03 18:27:09 -0400 |
commit | 366c7f554e888e51b8395f9b07b273fe775c7ff3 (patch) | |
tree | 324fab660758f1c5be4585ca2fcdb313feb53cef /drivers | |
parent | 0a9da4bd8eb30fb3f36e841c2cc72e426a17bbe2 (diff) |
[PATCH] lockdep: annotate enable_in_hardirq()
Make use of local_irq_enable_in_hardirq() API to annotate places that enable
hardirqs in hardirq context.
Has no effect on non-lockdep kernels.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ide/ide-floppy.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide-io.c | 6 | ||||
-rw-r--r-- | drivers/ide/ide-taskfile.c | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c index 6ca3476d02c7..adbe9f76a505 100644 --- a/drivers/ide/ide-floppy.c +++ b/drivers/ide/ide-floppy.c | |||
@@ -838,7 +838,7 @@ static ide_startstop_t idefloppy_pc_intr (ide_drive_t *drive) | |||
838 | "transferred\n", pc->actually_transferred); | 838 | "transferred\n", pc->actually_transferred); |
839 | clear_bit(PC_DMA_IN_PROGRESS, &pc->flags); | 839 | clear_bit(PC_DMA_IN_PROGRESS, &pc->flags); |
840 | 840 | ||
841 | local_irq_enable(); | 841 | local_irq_enable_in_hardirq(); |
842 | 842 | ||
843 | if (status.b.check || test_bit(PC_DMA_ERROR, &pc->flags)) { | 843 | if (status.b.check || test_bit(PC_DMA_ERROR, &pc->flags)) { |
844 | /* Error detected */ | 844 | /* Error detected */ |
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index 7dba9992ad30..d6bf1ec96322 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c | |||
@@ -693,7 +693,7 @@ static ide_startstop_t drive_cmd_intr (ide_drive_t *drive) | |||
693 | u8 stat = hwif->INB(IDE_STATUS_REG); | 693 | u8 stat = hwif->INB(IDE_STATUS_REG); |
694 | int retries = 10; | 694 | int retries = 10; |
695 | 695 | ||
696 | local_irq_enable(); | 696 | local_irq_enable_in_hardirq(); |
697 | if ((stat & DRQ_STAT) && args && args[3]) { | 697 | if ((stat & DRQ_STAT) && args && args[3]) { |
698 | u8 io_32bit = drive->io_32bit; | 698 | u8 io_32bit = drive->io_32bit; |
699 | drive->io_32bit = 0; | 699 | drive->io_32bit = 0; |
@@ -1286,7 +1286,7 @@ static void ide_do_request (ide_hwgroup_t *hwgroup, int masked_irq) | |||
1286 | if (masked_irq != IDE_NO_IRQ && hwif->irq != masked_irq) | 1286 | if (masked_irq != IDE_NO_IRQ && hwif->irq != masked_irq) |
1287 | disable_irq_nosync(hwif->irq); | 1287 | disable_irq_nosync(hwif->irq); |
1288 | spin_unlock(&ide_lock); | 1288 | spin_unlock(&ide_lock); |
1289 | local_irq_enable(); | 1289 | local_irq_enable_in_hardirq(); |
1290 | /* allow other IRQs while we start this request */ | 1290 | /* allow other IRQs while we start this request */ |
1291 | startstop = start_request(drive, rq); | 1291 | startstop = start_request(drive, rq); |
1292 | spin_lock_irq(&ide_lock); | 1292 | spin_lock_irq(&ide_lock); |
@@ -1631,7 +1631,7 @@ irqreturn_t ide_intr (int irq, void *dev_id, struct pt_regs *regs) | |||
1631 | spin_unlock(&ide_lock); | 1631 | spin_unlock(&ide_lock); |
1632 | 1632 | ||
1633 | if (drive->unmask) | 1633 | if (drive->unmask) |
1634 | local_irq_enable(); | 1634 | local_irq_enable_in_hardirq(); |
1635 | /* service this interrupt, may set handler for next interrupt */ | 1635 | /* service this interrupt, may set handler for next interrupt */ |
1636 | startstop = handler(drive); | 1636 | startstop = handler(drive); |
1637 | spin_lock_irq(&ide_lock); | 1637 | spin_lock_irq(&ide_lock); |
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index 04547eb0833f..97a9244312fc 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c | |||
@@ -222,7 +222,7 @@ ide_startstop_t task_no_data_intr (ide_drive_t *drive) | |||
222 | ide_hwif_t *hwif = HWIF(drive); | 222 | ide_hwif_t *hwif = HWIF(drive); |
223 | u8 stat; | 223 | u8 stat; |
224 | 224 | ||
225 | local_irq_enable(); | 225 | local_irq_enable_in_hardirq(); |
226 | if (!OK_STAT(stat = hwif->INB(IDE_STATUS_REG),READY_STAT,BAD_STAT)) { | 226 | if (!OK_STAT(stat = hwif->INB(IDE_STATUS_REG),READY_STAT,BAD_STAT)) { |
227 | return ide_error(drive, "task_no_data_intr", stat); | 227 | return ide_error(drive, "task_no_data_intr", stat); |
228 | /* calls ide_end_drive_cmd */ | 228 | /* calls ide_end_drive_cmd */ |