diff options
| author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2003-03-26 18:02:37 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-03-26 18:02:37 -0800 |
| commit | 9d6697b6ddc5adf80c05583cd100b9e18893ea68 (patch) | |
| tree | 0a043384a34328121015f9a189121565d0c1ef19 /drivers/ide | |
| parent | b3b3e8a6df90df506e4d23d8788df5594b50b176 (diff) | |
[PATCH] Add a comment that the irq_nosync stuff needs revisiting
Diffstat (limited to 'drivers/ide')
| -rw-r--r-- | drivers/ide/ide-iops.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index 7c7a5ac53aa6..56f991a8d88b 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c @@ -903,6 +903,14 @@ int ide_config_drive_speed (ide_drive_t *drive, u8 speed) * Select the drive, and issue the SETFEATURES command */ disable_irq_nosync(hwif->irq); + + /* + * FIXME: we race against the running IRQ here if + * this is called from non IRQ context. If we use + * disable_irq() we hang on the error path. Work + * is needed. + */ + udelay(1); SELECT_DRIVE(drive); SELECT_MASK(drive, 0); |
