• A
    crypto: caam - make sure clocks are enabled first · 796114f5
    Andrey Smirnov 提交于
    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: 176435ad ("crypto: caam - defer probing until QMan is available")
    Fixes: 41fc54afae70 ("crypto: caam - simplfy clock initialization")
    Signed-off-by: NAndrey Smirnov <andrew.smirnov@gmail.com>
    Cc: Chris Healy <cphealy@gmail.com>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: Horia Geantă <horia.geanta@nxp.com>
    Cc: Herbert Xu <herbert@gondor.apana.org.au>
    Cc: Iuliana Prodan <iuliana.prodan@nxp.com>
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Tested-by: NHoria Geantă <horia.geanta@nxp.com>
    Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
    796114f5
ctrl.c 26.5 KB