I’ve read somewhere that it has to do with the kernel/libata implementing a SATA layer to access all disks, including old ATA’s (or something like that, I’m not particularly interested).
I have two HDs (1 IDE and 1 SATA) and 2 DVD-Writers (ditto) and get the same errors. But, there are two things you can do:
run as root: hdparm -I /dev/sdX (X is your drive letter). This will give a lot of info, including the DMA mode currently in use (although it seems you can’t change it).
I’ve read that there’s an utility called sdparm that can do what you want, but I never used it (didn’t need to).
However, I’d research a bit more before meddling with these settings (here, maybe: http://www.thinkwiki.org/wiki/Problems_with_SATA_and_Linux#No_DMA_on_DVD_drive ). In OpenSuse 10.? there was a yast hardware module that would set DMA parameters (hdparm worked too). I used this a lot to reset slow/failing DVD-writers that would fall back to pio mode and bork my DVDs. Cheap hardware…
But this yast module has been dropped in OS 11. Usually this means that either it is broken or it is not necessary anymore, and the last seems to be the case.
Oh, and if your Optical drive is /dev/srX (X=0, 1, etc.), hdparm -I /dev/srX as root works too. At least it does here. You’ll probably find that all your ATA and ATAPI devices have DMA enabled. Mine are.