aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-06-20 05:08:44 -0400
committerJeff Garzik <jeff@garzik.org>2006-06-20 05:08:44 -0400
commitc5fa46e175ccd02803031ea071060cdb01521736 (patch)
tree5e6f49d86a2dcd069c45bfd434efd6d6fa311bea
parent5a44efff4f8fe8139c0c4166ad5aae5f2fa5bced (diff)
[libata] sata_nv: s/spin_lock_irqsave/spin_lock/ in irq handler
We don't need to use the heavier spin lock in the irq handler. It's quite possible we can do this in nv_generic_interrupt() as well, but I didn't take the time to pursue that train of thought. Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/scsi/sata_nv.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/scsi/sata_nv.c b/drivers/scsi/sata_nv.c
index 19deaa42fbf0..be8650f17020 100644
--- a/drivers/scsi/sata_nv.c
+++ b/drivers/scsi/sata_nv.c
@@ -371,14 +371,13 @@ static irqreturn_t nv_nf2_interrupt(int irq, void *dev_instance,
371 struct pt_regs *regs) 371 struct pt_regs *regs)
372{ 372{
373 struct ata_host_set *host_set = dev_instance; 373 struct ata_host_set *host_set = dev_instance;
374 unsigned long flags;
375 u8 irq_stat; 374 u8 irq_stat;
376 irqreturn_t ret; 375 irqreturn_t ret;
377 376
378 spin_lock_irqsave(&host_set->lock, flags); 377 spin_lock(&host_set->lock);
379 irq_stat = inb(host_set->ports[0]->ioaddr.scr_addr + NV_INT_STATUS); 378 irq_stat = inb(host_set->ports[0]->ioaddr.scr_addr + NV_INT_STATUS);
380 ret = nv_do_interrupt(host_set, irq_stat); 379 ret = nv_do_interrupt(host_set, irq_stat);
381 spin_unlock_irqrestore(&host_set->lock, flags); 380 spin_unlock(&host_set->lock);
382 381
383 return ret; 382 return ret;
384} 383}
@@ -387,14 +386,13 @@ static irqreturn_t nv_ck804_interrupt(int irq, void *dev_instance,
387 struct pt_regs *regs) 386 struct pt_regs *regs)
388{ 387{
389 struct ata_host_set *host_set = dev_instance; 388 struct ata_host_set *host_set = dev_instance;
390 unsigned long flags;
391 u8 irq_stat; 389 u8 irq_stat;
392 irqreturn_t ret; 390 irqreturn_t ret;
393 391
394 spin_lock_irqsave(&host_set->lock, flags); 392 spin_lock(&host_set->lock);
395 irq_stat = readb(host_set->mmio_base + NV_INT_STATUS_CK804); 393 irq_stat = readb(host_set->mmio_base + NV_INT_STATUS_CK804);
396 ret = nv_do_interrupt(host_set, irq_stat); 394 ret = nv_do_interrupt(host_set, irq_stat);
397 spin_unlock_irqrestore(&host_set->lock, flags); 395 spin_unlock(&host_set->lock);
398 396
399 return ret; 397 return ret;
400} 398}