7 Jul
2015
7 Jul
'15
4:47 p.m.
On Wed, Jul 01, 2015 at 04:24:48PM -0700, yang.a.fang@intel.com wrote:
after TI resumes. Also We should return if there is read err,the interrupt will come again since it is level triggered and we are not yet clear the interrupt.
- ret = regmap_read(regmap, TS3A227E_REG_INTERRUPT, &int_reg);
- if (ret) {
dev_err(dev, "failed to clear interrupt ret=%d\n", ret);
return IRQ_HANDLED;
- }
This should return IRQ_NONE not IRQ_HANDLED - we didn't actually successfully handle the interrupt. This lets the genirq code error handling kick in if for some reason things are really broken and we just can't interact with the device any more, it will eventually disable the interrupt in that case.