Hannes Reinecke wrote:
Hi all, the current ahci doesn't handle suspend / resume cycles too well. On certain machines the disk just locks up and refuses to work after a resume. This is due to a initialisation error after resume; ahci has fo[u]r registers containing DMA addresses (which are obviously allocated by the kernel). Of course there is no guarantee that these addresses are unchanged across reboots. So ahci loads the suspended image, and after the suspended image is started the driver is presented with different DMA addresses, whereas the chip still uses the original ones. This patch rearranges the suspend / resume code to properly initialise those registers after a resume. It also contains some initialisation fixes to make the driver behave more spec-compliant.
.. Is ahci the *only* interface afflicted with this problem? - : 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