The attached patch is against 2.6.18-rc6-mm1, to be applied on top of the patch "sata_nv: fix ATAPI in ADMA mode" which Andrew and Jeff already have in their trees. I've only been able to test this myself by doing an aborted suspend and immediate resume and verifying it doesn't blow up in that case (suspend-to-RAM is broken on my box and something isn't configured properly for suspend-to-disk to work). However, since resume will definitely not work on some of these controllers without this patch, I think it's an improvement in any case.. --- This patch adds the necessary callbacks to support suspend/resume properly in sata_nv. Most of the controllers don't need any specific handling but CK804/MCP04 controllers, whether ADMA is enabled or not, need some additional setup on resume. As well as the additional storage of the controller type needed for proper resume handling, this also removes the inline helper functions for getting ADMA register locations by storing the pointers so we don't have to keep calculating them all the time. Signed-off-by: Robert Hancock --- Robert Hancock Saskatoon, SK, Canada To email, remove "nospam" from hancockr@nospamshaw.ca Home Page: http://www.roberthancock.com/