On 9/4/2019 5:35 AM, Andrey Smirnov wrote: > In order to access IP block's registers we need to enable appropriate > clocks first, otherwise we are risking hanging the CPU. > > The problem becomes very apparent when trying to use CAAM driver built > as a kernel module. In that case caam_probe() gets called after > clk_disable_unused() which means all of the necessary clocks are > guaranteed to be disabled. > > Coincidentally, this change also fixes iomap leak introduced by early > return (instead of "goto iounmap_ctrl") in commit > 41fc54afae70 ("crypto: caam - simplfy clock initialization") > > Tested on ZII i.MX6Q+ RDU2 > > Fixes: 176435ad2ac7 ("crypto: caam - defer probing until QMan is available") > Fixes: 41fc54afae70 ("crypto: caam - simplfy clock initialization") > Signed-off-by: Andrey Smirnov <andrew.smirnov@xxxxxxxxx> > Cc: Chris Healy <cphealy@xxxxxxxxx> > Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx> > Cc: Horia Geantă <horia.geanta@xxxxxxx> > Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> > Cc: Iuliana Prodan <iuliana.prodan@xxxxxxx> > Cc: linux-crypto@xxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx Tested-by: Horia Geantă <horia.geanta@xxxxxxx> Considering this is a boot hang, in case this does not make into v5.4 I would appreciate appending: Cc: <stable@xxxxxxxxxxxxxxx> Thanks, Horia