Re: [CFT] Bus mastering support for IDE CDROM audio

Andrew Morton
2002-01-27T03:24:18Z

"Kevin P. Fleming" wrote:
>
> When reading from the N drive, get lots of "cdrom_pc_intr: read too
> little data 0 < 2352",

OK, thanks Kevin (Dan, Kristian, Grant..)

Seems that some devices simply terminate their DMA in a normal
manner, report no errors and don't tell us how much data they
transferred. From my reading of the ATA spec, they're allowed
to do that - they only need to report the transfer byte count
in PIO mode.

Could you please change the code in drivers/ide/ide-cd.c:cdrom_pc_intr() to:

if ((stat & DRQ_STAT) == 0 && len < pc->buflen) {
printk(__FUNCTION__ ": read too little data! %d < %d\n",
len, pc->buflen);
+ len = pc->buflen;
}
pc->buflen -= len;
pc->buffer += len;

and let me know if the thing actually reads audio correctly?

Also, please tell me whether that particular drive reads normal
ISO filesystems correctly in DMA mode? Thanks.

-