]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: platform: ao-cec-g12a: disable regmap fast_io for cec bus regmap
authorNeil Armstrong <narmstrong@baylibre.com>
Fri, 31 May 2019 10:33:15 +0000 (06:33 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 3 Jun 2019 14:45:55 +0000 (10:45 -0400)
With fast_io enabled, spinlock_irq is used for read/write operations,
thus leading to :
BUG: sleeping function called from invalid context at [snip]/ao-cec-g12a.c:379
 in_atomic(): 1, irqs_disabled(): 128, pid: 1451, name: irq/14-ff800280
[snip]
Call trace:
 dump_backtrace+0x0/0x180
 show_stack+0x14/0x1c
 dump_stack+0xa8/0xe0
 ___might_sleep+0xf4/0x104
 __might_sleep+0x4c/0x80
 meson_ao_cec_g12a_read+0x7c/0x164
 regmap_read+0x16c/0x1b0
 meson_ao_cec_g12a_irq_thread+0xcc/0x200
 irq_thread_fn+0x2c/0x60
 irq_thread+0x14c/0x1fc
 kthread+0x11c/0x12c
 ret_from_fork+0x10/0x18

Simply remove fast_io to use mutexes instead.

Fixes: b7778c46683c ("media: platform: meson: Add Amlogic Meson G12A AO CEC Controller driver")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/meson/ao-cec-g12a.c

index 3620a1e310f529eaeab0563bf08466658861750b..ddfd060625da913f6adb529138d32e3e774589aa 100644 (file)
@@ -415,7 +415,6 @@ static const struct regmap_config meson_ao_cec_g12a_cec_regmap_conf = {
        .reg_read = meson_ao_cec_g12a_read,
        .reg_write = meson_ao_cec_g12a_write,
        .max_register = 0xffff,
-       .fast_io = true,
 };
 
 static inline void