diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/firmware/meson/meson_sm.c | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/drivers/firmware/meson/meson_sm.c b/drivers/firmware/meson/meson_sm.c index f25a9746249b..3ab67aaa9e5d 100644 --- a/drivers/firmware/meson/meson_sm.c +++ b/drivers/firmware/meson/meson_sm.c @@ -232,11 +232,16 @@ EXPORT_SYMBOL(meson_sm_call_write);  struct meson_sm_firmware *meson_sm_get(struct device_node *sm_node)  {  	struct platform_device *pdev = of_find_device_by_node(sm_node); +	struct meson_sm_firmware *fw;  	if (!pdev)  		return NULL; -	return platform_get_drvdata(pdev); +	fw = platform_get_drvdata(pdev); + +	put_device(&pdev->dev); + +	return fw;  }  EXPORT_SYMBOL_GPL(meson_sm_get); | 
