| From 5f397b3064b843c9ae72034b0d01f55d1f27e455 Mon Sep 17 00:00:00 2001 |
| From: Steven Rostedt <srostedt@redhat.com> |
| Date: Fri, 3 Jul 2009 08:44:29 -0500 |
| Subject: [PATCH] ata: Do not disable interrupts in ide code for preempt-rt |
| |
| commit 1a62b43cbf8d17e744c4978451d053f85cf46a96 in tip. |
| |
| 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> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| --- |
| drivers/ata/libata-sff.c | 12 ++++++------ |
| 1 files changed, 6 insertions(+), 6 deletions(-) |
| |
| diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c |
| index e3877b6..ec1c34b 100644 |
| --- a/drivers/ata/libata-sff.c |
| +++ b/drivers/ata/libata-sff.c |
| @@ -838,9 +838,9 @@ unsigned int ata_sff_data_xfer_noirq(struct ata_device *dev, unsigned char *buf, |
| unsigned long flags; |
| unsigned int consumed; |
| |
| - local_irq_save(flags); |
| + local_irq_save_nort(flags); |
| consumed = ata_sff_data_xfer(dev, buf, buflen, rw); |
| - local_irq_restore(flags); |
| + local_irq_restore_nort(flags); |
| |
| return consumed; |
| } |
| @@ -879,7 +879,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) |
| unsigned long flags; |
| |
| /* FIXME: use a bounce buffer */ |
| - local_irq_save(flags); |
| + local_irq_save_nort(flags); |
| buf = kmap_atomic(page, KM_IRQ0); |
| |
| /* do the actual data transfer */ |
| @@ -887,7 +887,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) |
| do_write); |
| |
| kunmap_atomic(buf, KM_IRQ0); |
| - 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, |
| @@ -1020,7 +1020,7 @@ next_sg: |
| unsigned long flags; |
| |
| /* FIXME: use bounce buffer */ |
| - local_irq_save(flags); |
| + local_irq_save_nort(flags); |
| buf = kmap_atomic(page, KM_IRQ0); |
| |
| /* do the actual data transfer */ |
| @@ -1028,7 +1028,7 @@ next_sg: |
| count, rw); |
| |
| kunmap_atomic(buf, KM_IRQ0); |
| - local_irq_restore(flags); |
| + local_irq_restore_nort(flags); |
| } else { |
| buf = page_address(page); |
| consumed = ap->ops->sff_data_xfer(dev, buf + offset, |
| -- |
| 1.7.0.4 |
| |