| From: Steven Rostedt <srostedt@redhat.com> |
| Date: Fri, 3 Jul 2009 08:44:29 -0500 |
| Subject: ata: Do not disable interrupts in ide code for preempt-rt |
| |
| Use the local_irq_*_nort variants. |
| |
| Signed-off-by: Steven Rostedt <srostedt@redhat.com> |
| Signed-off-by: Ingo Molnar <mingo@elte.hu> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| |
| --- |
| drivers/ata/libata-sff.c | 12 ++++++------ |
| 1 file changed, 6 insertions(+), 6 deletions(-) |
| |
| --- a/drivers/ata/libata-sff.c |
| +++ b/drivers/ata/libata-sff.c |
| @@ -678,9 +678,9 @@ unsigned int ata_sff_data_xfer_noirq(str |
| unsigned long flags; |
| unsigned int consumed; |
| |
| - local_irq_save(flags); |
| + local_irq_save_nort(flags); |
| consumed = ata_sff_data_xfer32(dev, buf, buflen, rw); |
| - local_irq_restore(flags); |
| + local_irq_restore_nort(flags); |
| |
| return consumed; |
| } |
| @@ -719,7 +719,7 @@ static void ata_pio_sector(struct ata_qu |
| unsigned long flags; |
| |
| /* FIXME: use a bounce buffer */ |
| - local_irq_save(flags); |
| + local_irq_save_nort(flags); |
| buf = kmap_atomic(page); |
| |
| /* do the actual data transfer */ |
| @@ -727,7 +727,7 @@ static void ata_pio_sector(struct ata_qu |
| do_write); |
| |
| kunmap_atomic(buf); |
| - local_irq_restore(flags); |
| + local_irq_restore_nort(flags); |
| } else { |
| buf = page_address(page); |
| ap->ops->sff_data_xfer(qc->dev, buf + offset, qc->sect_size, |
| @@ -864,7 +864,7 @@ static int __atapi_pio_bytes(struct ata_ |
| unsigned long flags; |
| |
| /* FIXME: use bounce buffer */ |
| - local_irq_save(flags); |
| + local_irq_save_nort(flags); |
| buf = kmap_atomic(page); |
| |
| /* do the actual data transfer */ |
| @@ -872,7 +872,7 @@ static int __atapi_pio_bytes(struct ata_ |
| count, rw); |
| |
| kunmap_atomic(buf); |
| - local_irq_restore(flags); |
| + local_irq_restore_nort(flags); |
| } else { |
| buf = page_address(page); |
| consumed = ap->ops->sff_data_xfer(dev, buf + offset, |