Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'gpio-v3.17-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio

Pull gpio fixes from Linus Walleij:
"Two GPIO fixes:

- GPIO direction flags where handled wrong in the new descriptor-
based API, so direction changes did not always "take".

- Fix a handler installation race in the generic GPIO irqchip code"

* tag 'gpio-v3.17-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
gpio: Fix potential NULL handler data in chained irqchip handler
gpio: Fix gpio direction flags not getting set

+2 -2
+2 -2
drivers/gpio/gpiolib.c
··· 413 413 return; 414 414 } 415 415 416 - irq_set_chained_handler(parent_irq, parent_handler); 417 416 /* 418 417 * The parent irqchip is already using the chip_data for this 419 418 * irqchip, so our callbacks simply use the handler_data. 420 419 */ 421 420 irq_set_handler_data(parent_irq, gpiochip); 421 + irq_set_chained_handler(parent_irq, parent_handler); 422 422 } 423 423 EXPORT_SYMBOL_GPL(gpiochip_set_chained_irqchip); 424 424 ··· 1674 1674 set_bit(FLAG_OPEN_SOURCE, &desc->flags); 1675 1675 1676 1676 /* No particular flag request, return here... */ 1677 - if (flags & GPIOD_FLAGS_BIT_DIR_SET) 1677 + if (!(flags & GPIOD_FLAGS_BIT_DIR_SET)) 1678 1678 return desc; 1679 1679 1680 1680 /* Process flags */