summaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/meson/ao-cec-g12a.c
diff options
context:
space:
mode:
authorNeil Armstrong <narmstrong@baylibre.com>2019-05-31 12:33:15 +0200
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2019-06-03 16:45:55 +0200
commit9f7406d6b56b4b71a12480b68221755ea7b3e0ee (patch)
treeccb485a07298d298ddd1cfd5c038d65c39f122f8 /drivers/media/platform/meson/ao-cec-g12a.c
parentmedia: cx23885: remove redundant assignment to err (diff)
downloadlinux-9f7406d6b56b4b71a12480b68221755ea7b3e0ee.tar.xz
linux-9f7406d6b56b4b71a12480b68221755ea7b3e0ee.zip
media: platform: ao-cec-g12a: disable regmap fast_io for cec bus regmap
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>
Diffstat (limited to 'drivers/media/platform/meson/ao-cec-g12a.c')
-rw-r--r--drivers/media/platform/meson/ao-cec-g12a.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/media/platform/meson/ao-cec-g12a.c b/drivers/media/platform/meson/ao-cec-g12a.c
index 3620a1e310f5..ddfd060625da 100644
--- a/drivers/media/platform/meson/ao-cec-g12a.c
+++ b/drivers/media/platform/meson/ao-cec-g12a.c
@@ -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