lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 3 Aug 2015 20:17:45 +0200
From:	Pali Rohár <pali.rohar@...il.com>
To:	Jarkko Nikula <jarkko.nikula@...mer.com>
Cc:	"Lars-Peter Clausen" <lars@...afoo.de>,
	Peter Ujfalusi <peter.ujfalusi@...com>,
	linux-kernel@...r.kernel.org, linux-omap@...r.kernel.org,
	Pavel Machek <pavel@....cz>,
	Sebastian Reichel <sre@...nel.org>,
	Aaro Koskinen <aaro.koskinen@....fi>,
	Tony Lindgren <tony@...mide.com>, Nishanth Menon <nm@...com>,
	Ivaylo Dimitrov <ivo.g.dimitrov.75@...il.com>
Subject: Re: Nokia N900 - audio TPA6130A2 problems

On Monday 03 August 2015 20:03:16 Jarkko Nikula wrote:
> Hi
> 
> On 08/01/2015 01:18 PM, Pali Rohár wrote:
> > On Saturday 25 July 2015 15:17:13 Lars-Peter Clausen wrote:
> >> On 07/25/2015 12:28 PM, Pali Rohár wrote:
> >>> Hello,
> >>> 
> >>> sometimes after rebooting Nokia N900 initializing alsa audio
> >>> fails. Here output from dmesg log when it happen:
> >>> 
> >>> [    6.925140] tpa6130a2 2-0060: Write failed
> >>> [    6.929534] tpa6130a2 2-0060: Failed to initialize chip
> >>> [    6.935272] tpa6130a2: probe of 2-0060 failed with error -121
> >>> [    7.624237] rx51-audio n900-audio: Failed to add TPA6130A2
> >>> controls [    7.635101] rx51-audio n900-audio: ASoC: failed to
> >>> init TLV320AIC34: -19 [    7.645874] rx51-audio n900-audio: ASoC:
> >>> failed to instantiate card -19 [    7.665740] rx51-audio
> >>> n900-audio: snd_soc_register_card failed (-19) [    8.063049]
> >>> ALSA device list:
> >>> [    8.070343]   No soundcards found.
> >>> 
> >>> Any idea what to do?
> >> 
> >> Looks like the chip is not responding. Try to add a small delay
> >> after powerup to give the device to be fully ready, something
> >> like the following:
> >> 
> >> --- a/sound/soc/codecs/tpa6130a2.c
> >> +++ b/sound/soc/codecs/tpa6130a2.c
> >> @@ -152,6 +152,8 @@ static int tpa6130a2_power(u8 power)
> >> 
> >>   		if (data->power_gpio >= 0)
> >>   		
> >>   			gpio_set_value(data->power_gpio, 1);
> >> 
> >> +		msleep(5);
> >> +
> >> 
> >>   		data->power_state = 1;
> >>   		ret = tpa6130a2_initialize();
> >>   		if (ret < 0) {
> > 
> > Hello, your patch did not helped. Problem is still there...
> 
> For me v4.2-rc5 works, i.e. TPA6130A2 can still play loudly to
> headphones. Don't know were there any i2c etc regression before it or
> how easy it would be to reproduce.
> 

Did you tested it on Nokia N900? Or other device?

> Logs below made me thinking can it be a HW issue? Although if it is
> an HW issue it shouldn't work sometimes I guess. Do you have any
> earlier well known configuration you could try is it an SW
> regression or something else?
> 

Stock Nokia's 2.6.28 kernel works always. With that kernel I have never 
seen this problem. So I do not think this is HW problem.

This problem is there in more kernel versions, maybe in some older (like 
v3.5) is was there not so often. But do not remember correctly...

> > [    5.962585] tpa6130a2 2-0060: Write failed
> > [    5.962707] tpa6130a2 2-0060: Failed to initialize chip
> > [    5.962860] tpa6130a2: probe of 2-0060 failed with error -121
> 
> -121 == EREMOTEIO which is returned from i2c-omap.c when there is no
> ACK from the chip.
> 

Maybe some power management problem? Something is not always initialized 
correctly?

I remember that there is some problem (maybe in NoLo - Nokia bootloader) 
that sometimes chainloaded U-Boot (booted via NoLo) is not able to 
initialize mmc chip (all read operation fails). In U-Boot I added some 
code to enable some parts in twl4030 regulator and after that mmc is 
working always...

So maybe something similar? Kernel expects that some PM or regulator 
parts are initialized, but they are only sometimes? Just speculation...

> > [   28.102233] omap_i2c 48072000.i2c: controller timed out
> > [   29.463653] lp5523x 2-0032: lp5523 Programmable led chip found
> > [   30.734191] omap_i2c 48072000.i2c: controller timed out waiting
> > for start condition to finish [   32.142333] i2c i2c-2: SCL is
> > stuck low, exit recovery
> 
> If SCL is really stuck it also explains why chip doesn't acknowledge.

-- 
Pali Rohár
pali.rohar@...il.com

Download attachment "signature.asc " of type "application/pgp-signature" (199 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ