diff options
| author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2003-03-23 02:05:56 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-03-23 02:05:56 -0800 |
| commit | 901a68b03eb7eae8e5b55c96a543a91bfce36ea3 (patch) | |
| tree | 96512368a3490d29a92c30a32726a79d9d090b04 | |
| parent | 202530e88e573feba7747fd443687b0da0b88277 (diff) | |
[PATCH] Fix IDE disable_irq() deadlock
This fixes one of the long standing IDE hangs on SMP. If you
get an error we disable the IRQ, unfortunately we may be in
the IRQ handler
This change gets us back working but does introduce a small
potential race I need to investigate further and fix up in
a nicer fashion.
IDE should do error handling in a seperate context (as SCSI
does) but not for 2.6.
| -rw-r--r-- | drivers/ide/ide-iops.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index d81a0abf8844..7c7a5ac53aa6 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c @@ -902,7 +902,7 @@ int ide_config_drive_speed (ide_drive_t *drive, u8 speed) /* * Select the drive, and issue the SETFEATURES command */ - disable_irq(hwif->irq); /* disable_irq_nosync ?? */ + disable_irq_nosync(hwif->irq); udelay(1); SELECT_DRIVE(drive); SELECT_MASK(drive, 0); |
