ide: expiry() returns int, negative expiry() return values won't be noticed
authorRoel Kluin <roel.kluin@gmail.com>
Thu, 5 Mar 2009 15:10:55 +0000 (16:10 +0100)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Thu, 5 Mar 2009 15:10:55 +0000 (16:10 +0100)
bart:
It seems like the bug could cause insanely long timeouts for:
- ATA_DMA_ERR error in dma_timer_expiry()
- commands without ->expiry in tc86c001_timer_expiry()
  (TC86C001 IDE controller only)

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
[bart: port it to the current tree]
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/ide-io.c

index 9ee51adf567faefd6ade2873a41444a1d44ca961..9ff90cb1dbf15c4423fbc0e71bf20339283758a4 100644 (file)
@@ -908,7 +908,7 @@ void ide_timer_expiry (unsigned long data)
        ide_drive_t     *uninitialized_var(drive);
        ide_handler_t   *handler;
        unsigned long   flags;
-       unsigned long   wait = -1;
+       int             wait = -1;
        int             plug_device = 0;
 
        spin_lock_irqsave(&hwif->lock, flags);