ASoC: soc-core: Fix probe deferral following prelink failure
diff mbox series

Message ID 1551706274-22571-1-git-send-email-jonathanh@nvidia.com
State New
Headers show
Series
  • ASoC: soc-core: Fix probe deferral following prelink failure
Related show

Commit Message

Jon Hunter March 4, 2019, 1:31 p.m. UTC
From: Jonathan Hunter <jonathanh@nvidia.com>

Commit 78a24e10cd94 ("ASoC: soc-core: clear platform pointers on error")
re-worked the clean-up of any platform pointers that may have been
initialised by the function snd_soc_init_platform(). This commit missed
one error path where if any of the prelinks for a soundcard failed to
initialise, then these platform pointers would not be cleaned-up. This
then prevents the soundcard from being initialised following a probe
deferral when any of the soundcard prelinks cannot be found.

Fix this by ensuring that soc_cleanup_platform() is called when
initialising the soundcard prelinks fails.

Fixes: 78a24e10cd94 ("ASoC: soc-core: clear platform pointers on error")

Signed-off-by: Jonathan Hunter <jonathanh@nvidia.com>
---
 sound/soc/soc-core.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Jon Hunter April 1, 2019, 12:22 p.m. UTC | #1
Hi Mark,

On 04/03/2019 13:31, Jon Hunter wrote:
> From: Jonathan Hunter <jonathanh@nvidia.com>
> 
> Commit 78a24e10cd94 ("ASoC: soc-core: clear platform pointers on error")
> re-worked the clean-up of any platform pointers that may have been
> initialised by the function snd_soc_init_platform(). This commit missed
> one error path where if any of the prelinks for a soundcard failed to
> initialise, then these platform pointers would not be cleaned-up. This
> then prevents the soundcard from being initialised following a probe
> deferral when any of the soundcard prelinks cannot be found.
> 
> Fix this by ensuring that soc_cleanup_platform() is called when
> initialising the soundcard prelinks fails.
> 
> Fixes: 78a24e10cd94 ("ASoC: soc-core: clear platform pointers on error")
> 
> Signed-off-by: Jonathan Hunter <jonathanh@nvidia.com>

FYI, I am seeing that the deferral of soundcards failing with v5.1-rc3
because the above has not been merged yet. Just wanted to let you know
in case this one was not marked for v5.1.

Cheers
Jon
Mark Brown April 2, 2019, 4:35 a.m. UTC | #2
On Mon, Apr 01, 2019 at 01:22:09PM +0100, Jon Hunter wrote:

> FYI, I am seeing that the deferral of soundcards failing with v5.1-rc3
> because the above has not been merged yet. Just wanted to let you know
> in case this one was not marked for v5.1.

I don't have this patch at all AFAICT.
Jon Hunter April 2, 2019, 8:52 a.m. UTC | #3
On 02/04/2019 05:35, Mark Brown wrote:
> On Mon, Apr 01, 2019 at 01:22:09PM +0100, Jon Hunter wrote:
> 
>> FYI, I am seeing that the deferral of soundcards failing with v5.1-rc3
>> because the above has not been merged yet. Just wanted to let you know
>> in case this one was not marked for v5.1.
> 
> I don't have this patch at all AFAICT.

That's odd. It is definitely in -next and I did receive an 'applied'
email from you [0]. So looks like something went wrong here. Can we get
this into v5.1?

Cheers
Jon

[0] https://lkml.org/lkml/2019/3/4/637
Mark Brown April 2, 2019, 9:19 a.m. UTC | #4
On Tue, Apr 02, 2019 at 09:52:15AM +0100, Jon Hunter wrote:
> On 02/04/2019 05:35, Mark Brown wrote:

> > I don't have this patch at all AFAICT.

> That's odd. It is definitely in -next and I did receive an 'applied'
> email from you [0]. So looks like something went wrong here. Can we get
> this into v5.1?

Oh, if I've applied that's why I don't have it any more.  Indeed it's
applied in my 5.1 branch so I don't know what you're expecting here?
Jon Hunter April 2, 2019, 9:30 a.m. UTC | #5
On 02/04/2019 10:19, Mark Brown wrote:
> On Tue, Apr 02, 2019 at 09:52:15AM +0100, Jon Hunter wrote:
>> On 02/04/2019 05:35, Mark Brown wrote:
> 
>>> I don't have this patch at all AFAICT.
> 
>> That's odd. It is definitely in -next and I did receive an 'applied'
>> email from you [0]. So looks like something went wrong here. Can we get
>> this into v5.1?
> 
> Oh, if I've applied that's why I don't have it any more.  Indeed it's
> applied in my 5.1 branch so I don't know what you're expecting here?

Well I still don't see it in the mainline branch and some boards are
still failing to register soundcards with v5.1-rc3 because this is
missing. So I am wondering what has happened to the change. It seems it
has been dropped.

Cheers
Jon
Mark Brown April 2, 2019, 9:31 a.m. UTC | #6
On Tue, Apr 02, 2019 at 10:30:34AM +0100, Jon Hunter wrote:
> On 02/04/2019 10:19, Mark Brown wrote:

> > Oh, if I've applied that's why I don't have it any more.  Indeed it's
> > applied in my 5.1 branch so I don't know what you're expecting here?

> Well I still don't see it in the mainline branch and some boards are
> still failing to register soundcards with v5.1-rc3 because this is
> missing. So I am wondering what has happened to the change. It seems it
> has been dropped.

You can check to see what's in my tree by looking at it directly or at
-next.
Jon Hunter April 2, 2019, 9:44 a.m. UTC | #7
On 02/04/2019 10:31, Mark Brown wrote:
> On Tue, Apr 02, 2019 at 10:30:34AM +0100, Jon Hunter wrote:
>> On 02/04/2019 10:19, Mark Brown wrote:
> 
>>> Oh, if I've applied that's why I don't have it any more.  Indeed it's
>>> applied in my 5.1 branch so I don't know what you're expecting here?
> 
>> Well I still don't see it in the mainline branch and some boards are
>> still failing to register soundcards with v5.1-rc3 because this is
>> missing. So I am wondering what has happened to the change. It seems it
>> has been dropped.
> 
> You can check to see what's in my tree by looking at it directly or at
> -next.

Right I see it in -next. Sorry but what I am asking is if you are
planning to send as a fix for v5.1? Maybe you have not sent out the
fixes yet for v5.1 and so wanted to check.

Cheers
Jon
Mark Brown April 3, 2019, 3:47 a.m. UTC | #8
On Tue, Apr 02, 2019 at 10:44:34AM +0100, Jon Hunter wrote:

> Right I see it in -next. Sorry but what I am asking is if you are
> planning to send as a fix for v5.1? Maybe you have not sent out the
> fixes yet for v5.1 and so wanted to check.

It is in my for-5.1 branch so I am intending to send it for v5.1.  Like
many maintainers I have separate branches in my tree and in -next for
things that are intended for the next merge window and things that are
intended to be sent sooner, in my case I have both for-linus and
for-next branches, plus both topic and numberd for-x.y branches which
feed into those.

Patch
diff mbox series

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 93d316d5bf8e..5a5764dba147 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -2797,6 +2797,7 @@  int snd_soc_register_card(struct snd_soc_card *card)
 
 		ret = soc_init_dai_link(card, link);
 		if (ret) {
+			soc_cleanup_platform(card);
 			dev_err(card->dev, "ASoC: failed to init link %s\n",
 				link->name);
 			mutex_unlock(&client_mutex);