Letux Kernel

Issue 588: 3.15-rc1: HDQ communication broken

Reported by Nikolaus Schaller, Apr 10, 2014

* in 3.14.0 we can boot but see a HDQ locking problem
* HDQ battery status does not work
* in 3.15-rc0 the kernel locks after 3-4 seconds dmesg if OMAP_HDQ 
is configured

Comment 1 by Nikolaus Schaller, Apr 16, 2014

Locking of the 3.15 kernel has been fixed thanks to a patch by David 

But HDQ is still partially broken. During boot it gets two times a 
reasonable value for the 'flags' but afterwards, only 0xff is 
received. This is interpreted as a missing battery (with a printk 
added to the driver):

root@gta04:~# dmesg|fgrep bq27x00_update
[    3.553466] bq27x00_update flags=4
[    9.429595] bq27x00_update flags=4
[   14.966522] bq27x00_update flags=255
[   98.646545] bq27x00_update flags=255
[  213.004882] bq27x00_update flags=255
Summary: 3.15-rc1: HDQ communication broken

Comment 2 by Nikolaus Schaller, Apr 26, 2014

More tests have shown that the HDQ controller is more or less 
suddenly stopping to respond or send IRQs (hdq_isr is not called) 
and this leads to ETIMEOUT (-110).
It is not (yet) clear if the HDQ module in the OMAP is failing or 
the delivery of interrupts.
Since we have neither changed the omap-hdq nor the bq27xxx drivers, 
and HDQ did still work on the non-dt kernel it is likely that 
something in the device tree setup (clocks or interrupt 
controllers?) works differently.

Comment 3 by Nikolaus Schaller, May 22, 2014

It appears to break as soon as the special GPIO controllers for 
WLAN/GPS/BT are initialized and hooked up to the DTR GPIO of the 
omap-serial. So we just might see a symptom (irq being lost) 
triggered by something else.

Comment 4 by Nikolaus Schaller, Jun 1, 2014

Appears to be solved by fising the DTR clients.
Status: Fixed

Comment 5 by Nikolaus Schaller, Jun 2, 2014

Reopened because it is unreliable - sometimes works and sometimes 
Status: Accepted

Comment 6 by Nikolaus Schaller, Nov 4, 2014

Has been fixed by 3.18-rc3. It was necessary to
* adjust the "compatible" entry to the default in 
* add module aliases to load the w1_bq27000 wrapper and the bq27000 
* add a requestÄ_module call to the w1_bq27000 wrapper
Labels: Milestone:3.18 Milestone:3.15
Status: Fixed

Comment 7 by Nikolaus Schaller, Nov 4, 2014

Status: Ready
Owner: marekb

Comment 8 by Nikolaus Schaller, May 19, 2015

Finally fixed upstream (missing Module Aliases etc. have been 
Status: Fixed

Created: 10 years 1 month ago by Nikolaus Schaller

Updated: 9 years 6 days ago

Status: Fixed

Owner: Marek Belisko