Messages in this thread | | | Date | Tue, 15 Nov 2011 17:20:53 +0000 | From | Russell King - ARM Linux <> | Subject | Re: [RFC][PATCH] gpiolib: add irq_wake (power-management) sysfs file |
| |
On Tue, Nov 15, 2011 at 01:16:37PM +0000, Mark Brown wrote: > On Fri, Nov 11, 2011 at 10:40:06AM +0100, Patrick Combes wrote: > > + else if (sysfs_streq(buf, "enable") || sysfs_streq(buf, "1")) > > + status = enable_irq_wake(gpio_to_irq(gpio)); > > + else if (sysfs_streq(buf, "disable") || sysfs_streq(buf, "0")) > > + status = disable_irq_wake(gpio_to_irq(gpio)); > > + else > > + status = -EINVAL; > > ...this doesn't do anything to stop userspace doing multiple enables and > disables.
It doesn't check whether gpio_to_irq(gpio) returns something sane either. It should be doing something like this before taking the mutex:
irq = gpio_to_irq(gpio); if (irq <= 0) return irq < 0 ? irq : -EINVAL;
and then doing (enable|disable)_irq_wake() on irq.
| |