Commit b452dbf2 authored by Johan Hovold's avatar Johan Hovold Committed by Krzysztof Kozlowski
Browse files

memory: renesas-rpc-if: fix platform-device leak in error path



Make sure to free the flash platform device in the event that
registration fails during probe.

Fixes: ca7d8b98 ("memory: add Renesas RPC-IF driver")
Cc: stable@vger.kernel.org      # 5.8
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20220303180632.3194-1-johan@kernel.org


Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
parent 31231092
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -651,6 +651,7 @@ static int rpcif_probe(struct platform_device *pdev)
	struct platform_device *vdev;
	struct device_node *flash;
	const char *name;
	int ret;

	flash = of_get_next_child(pdev->dev.of_node, NULL);
	if (!flash) {
@@ -674,7 +675,14 @@ static int rpcif_probe(struct platform_device *pdev)
		return -ENOMEM;
	vdev->dev.parent = &pdev->dev;
	platform_set_drvdata(pdev, vdev);
	return platform_device_add(vdev);

	ret = platform_device_add(vdev);
	if (ret) {
		platform_device_put(vdev);
		return ret;
	}

	return 0;
}

static int rpcif_remove(struct platform_device *pdev)