Re: [PATCH 1/2] ASoC: samsung: i2s: Fix the secondary platform device registration

From: Krzysztof Kozlowski
Date: Mon Feb 18 2019 - 03:31:58 EST


On Fri, 15 Feb 2019 at 15:48, Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> wrote:
>
> This fixes unregistration of the secondary platform device so all
> resources are properly released. The test for NULL priv->pdev_sec
> is not necessary and it is removed.
>
> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>
> ---
> This patch is based off of ASoC for-next and patches:
> ASoC: samsung: odroid: Ensure proper sample rate on pri/sec PCM
> ASoC: samsung: i2s: Prevent potential NULL platform data dereference
> ASoC: samsung: odroid: Add missing DAPM routes
>
> sound/soc/samsung/i2s.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
> index 6bf0f55d1e51..e36c44e2f1bb 100644
> --- a/sound/soc/samsung/i2s.c
> +++ b/sound/soc/samsung/i2s.c
> @@ -1359,11 +1359,10 @@ static int i2s_create_secondary_device(struct samsung_i2s_priv *priv)
>
> static void i2s_delete_secondary_device(struct samsung_i2s_priv *priv)
> {
> - if (priv->pdev_sec) {
> - platform_device_del(priv->pdev_sec);
> - priv->pdev_sec = NULL;
> - }
> + platform_device_unregister(priv->pdev_sec);
> + priv->pdev_sec = NULL;

Reviewed-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>

Although I think that you might need to re-order calls in
samsung_i2s_remove(). In general they should be in exact reverse order
of probe(). In this case, clk_disable_unprepare(priv->clk) should be
after unregistering secondary device. If order has to be different
because of some reasons - could you document them in comment?

Best regards,
Krzysztof