[cc'ing Albert and linux-ide]
Alan Cox wrote:/from the media. */> + if (qc->nbytes < 2048)It does seem to be about transfer size in the IT821x case not commands.
> + return -EOPNOTSUPP;
> +
> /* No ATAPI DMA in smart mode */
> if (itdev->smart)
> return -EOPNOTSUPP;
>
This looks like a gross hack. Aren't you supposed to inspect
the command instead and whitelist the ones you know are OK,
like pata_pdc2027x.c and sata_promise.c do?
It may be to do with how we issue ATAPI command transfer sizes from high
up (patch went to Jeff) but for now this is definitely the right approach
Reviewed-by: Alan Cox <alan@xxxxxxxxxx>
I wonder whether we should be using similar check in generic path too.
We have quite a few cases where MWDMA ATAPI devices choking on commands
with small transfer sizes. I don't think we'll experience significant
performance regression with this applied and even if there is some, it's
far better to have slightly slower working device.
What do you guys think?