summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpiolib-legacy.c
diff options
context:
space:
mode:
authorColin Pitrat <colin.pitrat@gmail.com>2016-06-18 20:05:04 +0200
committerLinus Walleij <linus.walleij@linaro.org>2016-07-04 16:50:40 +0200
commit87041a58d3b19455d39baed2a5e5bb43b58fb915 (patch)
tree12fcc0a782e3b9b90621e599937014fc0a5e1ecc /drivers/gpio/gpiolib-legacy.c
parentLinux 4.7-rc6 (diff)
downloadlinux-87041a58d3b19455d39baed2a5e5bb43b58fb915.tar.xz
linux-87041a58d3b19455d39baed2a5e5bb43b58fb915.zip
gpio: sch: Fix Oops on module load on Asus Eee PC 1201
This fixes the issue descirbe in bug 117531 (https://bugzilla.kernel.org/show_bug.cgi?id=117531). It's a regression introduced in linux 4.5 that causes a Oops at load of gpio_sch and prevents powering off the computer. The issue is that sch_gpio_reg_set is called in sch_gpio_probe before gpio_chip data is initialized with the pointer to the sch_gpio struct. As sch_gpio_reg_set calls gpiochip_get_data, it returns NULL which causes the Oops. The patch follows Mika's advice (https://lkml.org/lkml/2016/5/9/61) and consists in modifying sch_gpio_reg_get and sch_gpio_reg_set to take a sch_gpio struct directly instead of a gpio_chip, which avoids the call to gpiochip_get_data. Thanks Mika for your patience with me :-) Cc: stable@vger.kernel.org Signed-off-by: Colin Pitrat <colin.pitrat@gmail.com> Acked-by: Alexandre Courbot <acourbot@nvidia.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpiolib-legacy.c')
0 files changed, 0 insertions, 0 deletions