Hi,

On Thursday 15 November 2007, Sergei Shtylyov wrote:
> Hello, I wrote:
> 
> >    It's tome that I go and make a patch which deals with 0x00 (default 
> 
>     s/tome/time/
> 
> > PIO mode)...
> 
>     But I'm unsure how this value could reach us form userspace because of 
> the 
> argument check present everywhere that filters out 0 value form being passed 
> -- look at set_xfer_rate() and ide_cmd_ioctl(). So, such fix doesn't seem to 
> be applicable... :-|

You are right, I was mislead by "if (arg < 0 || arg > 70)":

static int set_xfer_rate (ide_drive_t *drive, int arg)
{
        int err;

        if (arg < 0 || arg > 70)
                return -EINVAL;

        err = ide_wait_cmd(drive,
                        WIN_SETFEATURES, (u8) arg,
                        SETFEATURES_XFER, 0, NULL);

        if (!err && arg) {
                ide_set_xfer_rate(drive, (u8) arg);
                ide_driveid_update(drive);
        }
        return err;
}

but value "1" is still theoretically possible. ;)

Anyway fixing 0x00 is a desirable thing as it is needed for cleanly
handling many older CF cards (they don't support IORDY).

Thanks,
Bart
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to