|
@@ -67,18 +67,20 @@ static void sub22 (char b, char c)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static DEFINE_SPINLOCK(dtc2278_lock);
|
|
|
|
+
|
|
static void dtc2278_set_pio_mode(ide_drive_t *drive, const u8 pio)
|
|
static void dtc2278_set_pio_mode(ide_drive_t *drive, const u8 pio)
|
|
{
|
|
{
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
|
|
|
|
if (pio >= 3) {
|
|
if (pio >= 3) {
|
|
- spin_lock_irqsave(&ide_lock, flags);
|
|
|
|
|
|
+ spin_lock_irqsave(&dtc2278_lock, flags);
|
|
/*
|
|
/*
|
|
* This enables PIO mode4 (3?) on the first interface
|
|
* This enables PIO mode4 (3?) on the first interface
|
|
*/
|
|
*/
|
|
sub22(1,0xc3);
|
|
sub22(1,0xc3);
|
|
sub22(0,0xa0);
|
|
sub22(0,0xa0);
|
|
- spin_unlock_irqrestore(&ide_lock, flags);
|
|
|
|
|
|
+ spin_unlock_irqrestore(&dtc2278_lock, flags);
|
|
} else {
|
|
} else {
|
|
/* we don't know how to set it back again.. */
|
|
/* we don't know how to set it back again.. */
|
|
}
|
|
}
|