On Mon, Jan 18, 2016 at 5:07 PM, Maciej S. Szmigiero mail@maciej.szmigiero.name wrote:
There is no guarantee that on fsl_ssi module load SSI registers will have their power-on-reset values.
In fact, if the driver is reloaded the values in registers will be whatever they were set to previously.
However, the cache needs to be fully populated at probe time to avoid non-atomic allocations during register access.
Special case here is imx21-class SSI, since according to datasheet it don't have SACC{ST,EN,DIS} regs.
This fixes hard lockup on fsl_ssi module reload, at least in AC'97 mode.
Fixes: 05cf237972fe ("ASoC: fsl_ssi: Add driver suspend and resume to support MEGA Fast")
Signed-off-by: Maciej S. Szmigiero mail@maciej.szmigiero.name
Tested-by: Fabio Estevam fabio.estevam@nxp.com