Comment 7 for bug 502219

Revision history for this message
Vishal Rao (vishalrao) wrote :

OK I think I know what's happening and I've fixed my issue!

I should have figured this out sooner but the problem is/was NCQ not SMART.

I did a web search for "failed command READ FPDMA QUEUED" and saw some references to NCQ, SSDs and all that jazz.

So all I need to do is pass the linux kernel boot paramter along with the existing (unrelated) parameters "quiet splash" like:

[code]
quiet splash libata.force=noncq
[/code]

Intel does NCQ support right for sure. And OCZ is apparently blacklisted already in the code it looks like that is why the above folks dont get this error.

The place to backlist in linux kernel (.32 series) libata source would be drivers/ata/libata-core.c around line 4252 with the existing OCZ ata_blacklist_entry item:

[code]
{ "CRUCIAL_CT128M225", NULL, ATA_HORKAGE_NONCQ },
[/code]

This blacklist just the 128 GB model which I have, I'm guessing the 64 and 256 models also need blacklisting with their own ID strings. I guess you pass NULL for the firmware version string so it blacklists all of them.

I will post this info on the Crucial.com forums and also on the forums and see what happens from there.

Not sure if this should be fixed by blacklisting these Crucial M225 models in the libata linux kernel source or it should be fixed by Crucial in perhaps a new model and/or BIOS update.

I hope Ubuntu devs might get this into the .32 kernel released with Lucid to avoid headaches for other Crucial SSD users.