linux-next 2017-08-08 keyboard failure on Nokia N900

Grygorii Strashko grygorii.strashko at ti.com
Tue Aug 8 13:15:00 PDT 2017



On 08/08/2017 03:09 PM, Julia Lawall wrote:
> 
> 
> On Tue, 8 Aug 2017, Grygorii Strashko wrote:
> 
>>
>>
>> On 08/08/2017 06:12 AM, Pavel Machek wrote:
>>> Hi!
>>>
>>>>> I tried today's linux-next. It boots on n900 (up to X), but then my
>>>>> screen locks and I can't get back. Touchscreen worked, so my guess is
>>>>> keyboard does not...? Ssh connection over usb still works.
>>>>
>>>> Confirmed, its the keyboard.
>>>>
>>>> Additionally, battery monitoring fails, because neither
>>>>
>>>> /sys/class/power_supply/{n900-,rx51-}battery/voltage_now
>>>>
>>>> exists.
>>>
>>> And dmesg is helpful in this case:
>>>
>>> [    0.675201] input: twl4030_pwrbutton as
>>> /devices/platform/68000000.ocp/48070000.i2c/i2c-1/1-0048/48070000.i2c:twl at 48:pwrbutton/input/input1
>>> [    0.676635] input: TWL4030 Keypad as
>>> /devices/platform/68000000.ocp/48070000.i2c/i2c-1/1-0048/48070000.i2c:twl at 48:keypad/input/input2
>>> [    0.679138] twl4030_keypad 48070000.i2c:twl at 48:keypad: request_irq
>>> failed for irq no=156: -13
>>> [    0.679779] twl4030_keypad: probe of 48070000.i2c:twl at 48:keypad
>>> failed with error -13
>>> [    0.682769] twl4030_madc 48070000.i2c:twl at 48:madc: could not
>>> request irq
>>> [    0.684051] twl4030_madc: probe of 48070000.i2c:twl at 48:madc failed
>>> with error -13
>>> [    0.685852] input: twl4030:vibrator as
>>> /devices/platform/68000000.ocp/48070000.i2c/i2c-1/1-0048/48070000.i2c:twl at 48:audio/twl4030-vibra/input/input3
>>> [    0.768890] omap_i2c 48070000.i2c: bus 1 rev3.3 at 2200 kHz
>>>
>>
>> I've not precisely checked it, but smth is telling me that below
>> patch  can cause this:
>>
>> commit 78daaca78ee57dead0f4aa5ee399f0499e81cd9e
>> Author: Julia Lawall <Julia.Lawall at lip6.fr>
>> Date:   Thu May 4 22:10:50 2017 +0200
>>
>>      mfd: twl4030-irq: Drop unnecessary static
>>
>>      Drop static on a local variable, when the variable is initialized before
>>      any use, on every possible execution path through the function.
>>
>> --- a/drivers/mfd/twl4030-irq.c
>> +++ b/drivers/mfd/twl4030-irq.c
>> @@ -685,7 +685,7 @@ int twl4030_sih_setup(struct device *dev, int module, int irq_base)
>>
>>   int twl4030_init_irq(struct device *dev, int irq_num)
>>   {
>> -       static struct irq_chip  twl4030_irq_chip;
>> +       struct irq_chip twl4030_irq_chip;
>>
>>
>> but if we will look at code - it can be seen that this variable is passed by reference to
>> irq_set_chip_and_handler().
>> Ops. And what will happen when twl4030_init_irq() returns ;)
> 
> The patch is not correct as was already noted when it was submitted:
> 
> https://lkml.org/lkml/2017/7/15/169
> https://lkml.org/lkml/2017/7/15/171
> 
> Do you need a patch reverting this one?

Hm. This one is in linux-next, but shouldn't. Right?

  git log --oneline  -10 linux-next/master
c0b96db Add linux-next specific files for 20170808

git log --oneline  linux-next/master | grep "Drop unnecessary static"
78daaca mfd: twl4030-irq: Drop unnecessary static



-- 
regards,
-grygorii



More information about the linux-arm-kernel mailing list