Messages in this thread | | | Date | Mon, 14 Oct 2013 19:55:26 +0800 | Subject | Re: [PATCH] regmap: irq: clear status when disable irq | From | Yi Zhang <> |
| |
2013/10/14 Mark Brown <broonie@kernel.org>: > On Mon, Oct 14, 2013 at 12:23:53PM +0800, Yi Zhang wrote: > >> Change-Id: I371201f365c5a8470073a393068cfeb4e3d14a03 > > Don't include noise like this in upstream submissions. > Thanks Mark, it's my fault; I'll remove it; >> + /* Ack masked but set interrupts */ >> + reg = d->chip->status_base + >> + (i * map->reg_stride * d->irq_reg_stride); >> + ret = regmap_read(d->map, reg, &d->status_buf[i]); >> + if (ret != 0) >> + dev_err(d->map->dev, "Failed to read IRQ status: %d\n", >> + ret); > > No, this isn't good - it'll read the hardware interrupt status again. > This will break any devices that are clear on read since enabled > interrupts will also be read. I'd suggest unconditionally acknowledging > all masked interrupts as the simplest approach, obviously it'd be better > to only acknowledge newly masked interrupts but that is more complex to > implement. Yes, you are right; I'll change according to your advice and send it out later; thanks very much for pointing this;
| |