Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a482958bf60c434dc12ea0491938c8853d9774fb
Commit:     a482958bf60c434dc12ea0491938c8853d9774fb
Parent:     e65dde715c4241d6b17d86fa4ada2f78668274d9
Author:     Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
AuthorDate: Sat Oct 20 00:32:35 2007 +0200
Committer:  Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
CommitDate: Sat Oct 20 00:32:35 2007 +0200

    slc90e66: fix deadlock on error handling
    
    * Stop abusing ide_lock lock (switch to a private locking).
    
      Fixes same issue as fixed by Alan Cox in atiixp host driver with
      commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627.
    
    * Bump driver version.
    
    Acked-by: Sergei Shtylyov <[EMAIL PROTECTED]>
    Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
---
 drivers/ide/pci/slc90e66.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/ide/pci/slc90e66.c b/drivers/ide/pci/slc90e66.c
index c457bf4..eb4445b 100644
--- a/drivers/ide/pci/slc90e66.c
+++ b/drivers/ide/pci/slc90e66.c
@@ -1,5 +1,5 @@
 /*
- *  linux/drivers/ide/pci/slc90e66.c   Version 0.18    Aug 9, 2007
+ *  linux/drivers/ide/pci/slc90e66.c   Version 0.19    Sep 24, 2007
  *
  *  Copyright (C) 2000-2002 Andre Hedrick <[EMAIL PROTECTED]>
  *  Copyright (C) 2006-2007 MontaVista Software, Inc. <[EMAIL PROTECTED]>
@@ -21,6 +21,8 @@
 
 #include <asm/io.h>
 
+static DEFINE_SPINLOCK(slc90e66_lock);
+
 static void slc90e66_set_pio_mode(ide_drive_t *drive, const u8 pio)
 {
        ide_hwif_t *hwif        = HWIF(drive);
@@ -40,7 +42,7 @@ static void slc90e66_set_pio_mode(ide_drive_t *drive, const 
u8 pio)
                                        { 2, 1 },
                                        { 2, 3 }, };
 
-       spin_lock_irqsave(&ide_lock, flags);
+       spin_lock_irqsave(&slc90e66_lock, flags);
        pci_read_config_word(dev, master_port, &master_data);
 
        if (pio > 1)
@@ -71,7 +73,7 @@ static void slc90e66_set_pio_mode(ide_drive_t *drive, const 
u8 pio)
        pci_write_config_word(dev, master_port, master_data);
        if (is_slave)
                pci_write_config_byte(dev, slave_port, slave_data);
-       spin_unlock_irqrestore(&ide_lock, flags);
+       spin_unlock_irqrestore(&slc90e66_lock, flags);
 }
 
 static void slc90e66_set_dma_mode(ide_drive_t *drive, const u8 speed)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to