mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 22:23:14 -04:00
use disable_irq_nosync in interrupt handler
When disable_irq is used in interrupt function, touch driver is blocked.
Call trace:
: __switch_to+0x328/0x358
: __schedule+0x6f8/0x884
: schedule+0x80/0xb0
: synchronize_irq+0x7c/0xb8
: disable_irq+0x70/0x9c
: fts_disableInterrupt+0x58/0xbc [stmicro_mmi]
: fts_chip_powercycle+0x64/0x26c [stmicro_mmi]
: fts_error_event_handler+0x98/0x134 [stmicro_mmi]
: fts_event_handler+0xa4/0x11c [stmicro_mmi]
Change-Id: Ic84a111aebfa93ea3386fc363105e341efc1cc09
Reviewed-on: https://gerrit.mot.com/1984070
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
parent
c94d7986fc
commit
9452937a05
1 changed files with 1 additions and 1 deletions
|
|
@ -3265,7 +3265,7 @@ int fts_chip_powercycle(struct fts_ts_info *info)
|
|||
logError(1, "%s %s: Disabling IRQ...\n", tag, __func__);
|
||||
/* if IRQ pin is short with DVDD a call to the ISR will triggered when
|
||||
* the regulator is turned off if IRQ not disabled */
|
||||
fts_disableInterrupt();
|
||||
fts_disableInterruptNoSync();
|
||||
|
||||
if (info->vdd_reg) {
|
||||
error = regulator_disable(info->vdd_reg);
|
||||
|
|
|
|||
Loading…
Reference in a new issue