Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp816878pxb; Thu, 19 Aug 2021 11:59:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwT7RExOH+Lsc22m2HWeSNye9ZLDCmIngo8geHeaBBUFOYYM7LCGZ8Q5LTMKkeHqKaUD3Kq X-Received: by 2002:a05:6402:50c9:: with SMTP id h9mr18535086edb.357.1629399587952; Thu, 19 Aug 2021 11:59:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629399587; cv=none; d=google.com; s=arc-20160816; b=oykWS+2y/68ZO6Dob+StLYDmB+AFB2rBchb8Ctqu5AFqnYUbulkWb5AUrY158NTcBt i6gZqiE4wsPplQpahGe96czjTeFa0UQwVv5pI0OuOwI3J7fnriD5cG2vWEQMG+hpIkLf 89HhwT7tHOGPMZ/yVYflZXyAN5rN+Gh4610xilp/Wa3bRtAEqoqR7wtycCEQC6vz6nil 5Cfo+cu0kYxFH3ZUmY/v18RxUQJBkRGCiP3gFc/mzjhihhzi3yW0HBFzjY9IyarzQ37D 3mKuVBx/PPbUpsBrwQgYu+gvqkSzH9b/q9nnkaG3HbktE+2jwLC5xYJbLYB8An9S6rGf hmHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=+pL/e3dMN/Ws3i4JncdgQo+mYleTxWxH91pO0PWLJkc=; b=E4G5FGdAgKajt5+2cFeOEOtB3rYqyOF9QeHInoXG0oHFap3KrHg9xVBTM9GRcgagW3 080/H/1ppa3p0gw1Mm7Ei1xkXRF5DiaoWki+M36YgI66xMv+bn/C8u344wQW8xRCCywy VO2D9Yudiu8vqF4MM3dPFWoEP/cwtm8Pr4fC8V3R3OV/5dPASbgnuDZWGCnTK8i6Yx6p kzvl3I1O7r5PCRSgpjtVGyU2hgUTvk3Q/Uqq4o8e/bOgYF4GVWDw2MepcS+Ff+4saupd 3OF9S1V492nJb2281WPvz61DlaeAbWo3e2XK6Oq9k/dN+A7ejNcSoTHEgvFnbLvY7QHC b/mQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gateworks-com.20150623.gappssmtp.com header.s=20150623 header.b="W5Ybl1/S"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u15si4419409edt.211.2021.08.19.11.59.23; Thu, 19 Aug 2021 11:59:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gateworks-com.20150623.gappssmtp.com header.s=20150623 header.b="W5Ybl1/S"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234336AbhHSS6W (ORCPT + 99 others); Thu, 19 Aug 2021 14:58:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50186 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233713AbhHSS6V (ORCPT ); Thu, 19 Aug 2021 14:58:21 -0400 Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B774FC061575 for ; Thu, 19 Aug 2021 11:57:44 -0700 (PDT) Received: by mail-pf1-x434.google.com with SMTP id y11so6360757pfl.13 for ; Thu, 19 Aug 2021 11:57:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gateworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=+pL/e3dMN/Ws3i4JncdgQo+mYleTxWxH91pO0PWLJkc=; b=W5Ybl1/Syk/AXW6g2eSCB3xLLB5MfQOvtY5dt5n25SxJq9p7g6q9ioGjh1zJ8VHWh0 5r+nCHLPRhJeckFUGrZj4SI6y3f9+5tK5VXaU9tfT/lflXTkOw9TRnpnahE5qfeRR6ZM +Y68Eo8RGtIzf6V7J9T1ALTLH/GE59evROSUKEvKVacK4C7lWRhFwfSOohxH1AUWofAM H2vkdSw5080uzdcyXx49mYJ73GOOSq1J6cJ1vos7+65b3jDKbuev7dIgip69Y7Pd9Lho Ap+Ur0ZaDMpY2sVHyGvMcYWKfzVt7o3PIX1o+b1lP8COOVg+vxlw9BzsumLOwD6NhYxo Ytog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=+pL/e3dMN/Ws3i4JncdgQo+mYleTxWxH91pO0PWLJkc=; b=mcE6rsFXtRGPiTwg1S/xnsteO3fu+UR6RTYNAo1aEtHiuXzImBNB5MmUBbOHBgxwId /3aXQcfob783czf3bdAP0UlKOzJs9aC3be4Mm4LsDOYIBq8s+oPaqCJUe1MftoNdbkft wi8wWroK0Z3CAk5ERlzlrBEYwflZxbWWgY0NzGbm7I/soc4xmCOlRUpV66FeqssUR2zr C1rHEFxb6FWraMh9G6fWNY+hIOC+wzVkBUSbv1RlWsxakWcHzWf4giGRYx6rTfsocxGX j5SV/fTD1H8IUeJfMQk12jWWmgKWP+F61w6g/2oWoooHSiY9Ha3zAcp70n6vXvYnmzOo mvmA== X-Gm-Message-State: AOAM532rQ6yYKNwB/T4REv3o0YABywHFjC3h98Xkhzn1PGJyKSa+JDRV tg8fVvlIXOW+d1Kyd1f5/w8t3jQ9mJfIcUV37Of34Q== X-Received: by 2002:a63:db4a:: with SMTP id x10mr1503255pgi.30.1629399464139; Thu, 19 Aug 2021 11:57:44 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Tim Harvey Date: Thu, 19 Aug 2021 11:57:32 -0700 Message-ID: Subject: Re: [PATCH v2] TDA1997x: fix tda1997x_remove() To: =?UTF-8?Q?Krzysztof_Ha=C5=82asa?= Cc: Mauro Carvalho Chehab , linux-media , open list Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 29, 2021 at 11:59 PM Krzysztof Ha=C5=82asa wr= ote: > > TDA1997x driver tried to hold two values in a single variable: > device's "client data" pointer was first set to "sd" in > v4l2_i2c_subdev_init(), then it was overwritten explicitly > using dev_set_drvdata() with "state". This caused > tda1997x_remove() to fail badly. > > Signed-off-by: Krzysztof Ha=C5=82asa > > diff --git a/drivers/media/i2c/tda1997x.c b/drivers/media/i2c/tda1997x.c > index 17be95c0dcb3..fb37918b7fb5 100644 > --- a/drivers/media/i2c/tda1997x.c > +++ b/drivers/media/i2c/tda1997x.c > @@ -2490,7 +2490,8 @@ static const struct media_entity_operations tda1997= x_media_ops =3D { > static int tda1997x_pcm_startup(struct snd_pcm_substream *substream, > struct snd_soc_dai *dai) > { > - struct tda1997x_state *state =3D snd_soc_dai_get_drvdata(dai); > + struct v4l2_subdev *sd =3D snd_soc_dai_get_drvdata(dai); > + struct tda1997x_state *state =3D to_state(sd); > struct snd_soc_component *component =3D dai->component; > struct snd_pcm_runtime *rtd =3D substream->runtime; > int rate, err; > @@ -2799,7 +2800,6 @@ static int tda1997x_probe(struct i2c_client *client= , > dev_err(&client->dev, "register audio codec faile= d\n"); > goto err_free_media; > } > - dev_set_drvdata(&state->client->dev, state); > v4l_info(state->client, "registered audio codec\n"); > } > > Acked-By: Tim Harvey Tim