Re: [PATCH v3] gpio: interrupt consistency check for OF GPIO IRQs

From: Stephen Warren
Date: Tue Sep 10 2013 - 18:34:31 EST


On 09/10/2013 03:37 PM, Mark Brown wrote:
> On Tue, Sep 10, 2013 at 01:53:47PM -0600, Stephen Warren wrote:
>
>> Doesn't this patch call gpio_request() on the GPIO first, and
>> hence prevent the driver's own gpio_request() from succeeding,
>> since the GPIO is already requested? If this is not a problem, it
>> sounds like a bug in gpio_request() not ensuring mutual exclusion
>> for the GPIO.
>
> Or at the very least something that's likely to break in the
> future.

Looking at the GPIO code, it already prevents double-requests:

> if (test_and_set_bit(FLAG_REQUESTED, &desc->flags) == 0) {
> desc_set_label(desc, label ? : "?");
> status = 0;
> } else {
> status = -EBUSY;
> module_put(chip->owner);
> goto done;
> }

And I tested it in practice, and it really does fail.
--
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/