diff options
author | Neil Armstrong <narmstrong@baylibre.com> | 2019-05-31 12:33:15 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2019-06-03 16:45:55 +0200 |
commit | 9f7406d6b56b4b71a12480b68221755ea7b3e0ee (patch) | |
tree | ccb485a07298d298ddd1cfd5c038d65c39f122f8 /drivers/media/platform/meson/ao-cec-g12a.c | |
parent | media: cx23885: remove redundant assignment to err (diff) | |
download | linux-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.c | 1 |
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 |