Possible IDE bug in 2.4 and 2.6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

First off, I'm not on the list, so please CC me on any replies.

I believe I have found a bug in the IDE code of both the 2.4 and 2.6 kernels. Here is a snippet from 2.4.32 starting from line 277 of drivers/ide/ide-io.c:

if (drive->select.b.lba &&
                    (hwif->INB(IDE_COMMAND_REG) == WIN_SPECIFY))
                    /* some newer drives don't
                     * support WIN_SPECIFY
                     */
                    return ide_stopped;


This code is attempting to ignore IDE errors if they were a result of the WIN_SPECIFY command, but the IDE_COMMAND_REG is a write only register, if it is read, IDE_STATUS_REG is read instead. Could someone confirm that this is in fact a bug and not something I'm missing? Almost identical code is also found in 2.6 kernels.

I think the best way to fix this would be to ignore the error in set_geometry_intr() in ide-taskfile.c instead of in ide_error() as seen above.

-Matt Schulkind
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux