> And when booting with the commit applied, I instead get a whole lot of > messages like this (this is the first one, copied by hand): > > ata2.00: exception Emask 0x0 SAct 0x0 Serr 0x10000000 action 0x6 frozen > ata2: SError: { } > ata2.00: cmd c8/00:02:42:08:20/00:00:00:00:00/e0 tag 0 dma 1024 in > res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout) > ata2.00: status: { DRDY } > ata2: hard resetting link > ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > ata2.00: configured for UDMA/133 > ata2: EH complete Well I've been over the patch twice now and I cannot see a single point at which the sequence of code that *should* be executed is any different. Stick wmb();rmb(); (or similar barriers to compiler optimisation and I/O fencing) at the start and end of your ata_sff_altstatus() and see what happens, if it suddenly decides to behave or forcing it no inline makes it behave then that would be useful info. -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html