Browse Source

ide: expiry() returns int, negative expiry() return values won't be noticed

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>
Roel Kluin 16 năm trước cách đây
mục cha
commit
e0c6dcd8d4
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      drivers/ide/ide-io.c

+ 1 - 1
drivers/ide/ide-io.c

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