OSDN Git Service

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)
commit9f7406d6b56b4b71a12480b68221755ea7b3e0ee
treeccb485a07298d298ddd1cfd5c038d65c39f122f8
parent7f9d5ac8e1e5af43a899110ddaa0b0c9374d1909
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>
drivers/media/platform/meson/ao-cec-g12a.c