• Andrey Smirnov's avatar
    soc: imx: gpcv2: Do not pass static memory as platform data · 050f810e
    Andrey Smirnov authored
    Platform device core assumes the ownership of dev.platform_data as
    well as that it is dynamically allocated and it will try to kfree it
    as a part of platform_device_release(). Change the code to use
    platform_device_add_data() n instead of a pointer to a static memory
    to avoid causing a BUG() when calling platform_device_put().
    
    The problem can be reproduced by artificially enabling the error path
    of platform_device_add() call (around line 357).
    
    Note that this change also allows us to constify imx7_pgc_domains,
    since we no longer need to be able to modify it.
    
    Cc: Stefan Agner <stefan@agner.ch>
    Cc: Lucas Stach <l.stach@pengutronix.de>
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: default avatarAndrey Smirnov <andrew.smirnov@gmail.com>
    Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
    050f810e
gpcv2.c 8.82 KB