SATA DVD issue...
Hello!
I am trying to use a SATA DVD burner on a Marvell Kirkwood based platform, kernel is currently based on vanilla 2.6.34 with only board specific patches.
SATA in general works just fine with harddisks.
But when I attach my DVD drive any data read or write access triggers a BUG() in libata-sff.c:
ata_bmdma_qc_issue():
...
/* see ata_dma_blacklisted() */
BUG_ON((ap->flags & ATA_FLAG_PIO_POLLING) &&
qc->tf.protocol == ATAPI_PROT_DMA);...
Command access (e.g. to eject the media or to erase a R/W disc) do work.
My knowledge about ATA and SATA is quite limited so I cannot really interpret this issue.
After some looking around and with the hint in the comment I tried blacklisting my drive, so I added an entry to libata-core.c:
{ "HL-DT-ST DVDRAM GH22LS50", "TL01", ATA_HORKAGE_NODMA },Now the drive works but it is awefully slow - reading just a little over 1MB/s - well, without DMA mode this is quite expectable.
I suspect that the Marvell SATA host driver should be OK and is not in fault - it is widely used in PCI setups and the SOC variant does almost not differ. And I also suspect that the above "fix" is not the best way to do it.
I also tried the same driver with a USB-SATA connector (I do not have a SATA PC at hand right now) and there it behaves pretty normal with 5 to 10 times higher read rates.
I would be more than happy if someone could help me diagnosing and especially fixing this problem. If I can give more information or try different things on the board just let know!
Many thanks in advance!
Cheers
nils
Signature · 4 lines
kernel concepts GbR Tel: +49-271-771091-12 Sieghuetter Hauptweg 48 Fax: +49-271-771091-19 D-57072 Siegen Mob: +49-176-21024535 http://www.kernelconcepts.de