[PATCH] gpio/omap: fix off-mode bug: clear debounce clock enable mask on disable

Igor Grinberg grinberg at compulab.co.il
Wed Oct 24 04:56:52 EDT 2012


On 10/24/12 10:16, Linus Walleij wrote:
> On Tue, Oct 23, 2012 at 8:09 PM, Kevin Hilman
> <khilman at deeprootsystems.com> wrote:
> 
>> From: Kevin Hilman <khilman at ti.com>
>>
>> When debounce clocks are disabled, ensure that the banks
>> dbck_enable_mask is cleared also.  Otherwise, context restore on
>> subsequent off-mode transition will restore previous value from the
>> shadow copies (bank->context.debounce*) leading to mismatch state
>> between driver state and hardware state.
>>
>> This was discovered when board code was doing
>>
>>   gpio_request_one()
>>   gpio_set_debounce()
>>   gpio_free()
>>
>> which was leaving the GPIO debounce settings in a confused state.
>> Then, enabling off mode causing bogus state to be restored, leaving
>> GPIO debounce enabled which then prevented the CORE powerdomain from
>> transitioning.
>>
>> Reported-by: Paul Walmsley <paul at pwsan.com>
>> Cc: Igor Grinberg <grinberg at compulab.co.il>
>> Signed-off-by: Kevin Hilman <khilman at ti.com>
> 
> Thanks! Applied with Felipe's and Santosh's ACKs.

If not too late:
Acked-by: Igor Grinberg <grinberg at compulab.co.il>

Kevin, thanks for the patch and sorry I could not respond on time.

-- 
Regards,
Igor.



More information about the linux-arm-kernel mailing list