On Monday 02 March 2009, Bartlomiej Zolnierkiewicz wrote: > On Monday 02 March 2009, Sergei Shtylyov wrote: > > Hello, I wrote: > > > > >> vi drivers/ide/ide-io.c +906 and note: > > > > >> void ide_timer_expiry (unsigned long data) > > >> { > > >> ide_expiry_t *expiry = hwif->expiry; > > >> ... > > >> unsigned long wait = -1; > > > > > Hm, haven't nothiced that this is *unsigned*. > > > > >> ... > > >> if (expiry) { > > >> ... > > >> wait = expiry(drive); > > >> if (wait > 0) { /* continue */ > > > > >> also note that in include/linux/ide.h:883: > > > > >> typedef int (ide_expiry_t)(ide_drive_t *); > > > > >> doesn't this mean that expiry returns int, and wait therefore should > > >> be int as well? > > > > > It rather means that ide_expiry_t() should return unsigned. > > > > Er, not really, as it can return -1 too. > > It can just return 0 instead. This time I got confused. ide_dma_timeout_retry() takes different actions depending on error == -1 and error == 0. [ BTW I worked on unifying those cases so ->dma_test_irq call can be moved out from ide_dma_timeout_retry() to ide_timer_expiry() (=> it can be later merged with ->expiry tests)... ] Thanks, Bart -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html