On Tuesday 18 December 2012 16:23, bl0 wrote: > On Monday 17 December 2012 06:44, Robert Hancock wrote: > >> But it seems quite likely that >> whatever magic numbers this code is picking don't work on your system >> for some reason. It appears the root cause is likely a bug in the SiI >> chip. There shouldn't be any region why messing around with these values >> should cause data corruption other than that. > > Do you think something should be done about it in the linux sata_sil > driver? For a lack of a better solution, here is my suggestion. There is > already one option 'slow_down' for problematic disks. Another option, for > example 'cache_line_workaround', could be added for problematic > motherboards. If enabled, the most straightforward way is to set cache > line size to 0 and not worry about the fifo_cfg register. Here is the code I currently have, attached as a diff. (This diff is not against the latest git tree, it's against an older linux version which I use.)