Messages in this thread | | | Date | Mon, 15 May 2006 17:44:30 +0400 | From | Sergei Shtylyov <> | Subject | Re: [PATCH] ide_dma_speed() fixes |
| |
Hello.
Andrew Morton wrote:
>> ide_dma_speed() fails to actually honor the IDE drivers' mode support >> masks) because of the bogus checks -- thus, selecting the DMA transfer mode >> that the driver explicitly refuses to support is possible. Additionally, there >> is no check for validity of the UltraDMA mode data in the drive ID, and the >> function is misdocumented.
> drivers/ide/ide-lib.c: In function `ide_dma_speed': > drivers/ide/ide-lib.c:86: warning: `ultra_mask' might be used uninitialized in this function
> Looks like a real bug to me - it depends up on the values of `mode' and > id->field_value.
> Anyway, I'll drop it, please review and fix. I assume that warning was > occurring for you as well - please spend more time over these things. > Especially when working on IDE, where bugs are slow to show themselves and > have particularly bad consequences.
That's what gcc thinks. The code is 100% correct -- it will never reach the switch statement with mode > 0 (in which case ultra_mask isn't used) and ultra_mask unitialized. I may add an explicit initializer in the declaration if you like...
MBR, Sergei - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |