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.
-
-
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/