Re: [PATCH] regmap: irq: clear status when disable irq

From: Yi Zhang
Date: Mon Oct 14 2013 - 07:55:32 EST


2013/10/14 Mark Brown <broonie@xxxxxxxxxx>:
> 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;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/