* [bug report] media: platform: meson: Add Amlogic Meson G12A AO CEC Controller driver
@ 2019-05-08 7:30 Dan Carpenter
0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2019-05-08 7:30 UTC (permalink / raw)
To: narmstrong; +Cc: linux-media
Hello Neil Armstrong,
The patch b7778c46683c: "media: platform: meson: Add Amlogic Meson
G12A AO CEC Controller driver" from Apr 12, 2019, leads to the
following static checker warning:
drivers/media/platform/meson/ao-cec-g12a.c:377 meson_ao_cec_g12a_read()
error: scheduling with locks held: 'spin_lock:cec_reg_lock'
drivers/media/platform/meson/ao-cec-g12a.c
363 static int meson_ao_cec_g12a_read(void *context, unsigned int addr,
364 unsigned int *data)
365 {
366 struct meson_ao_cec_g12a_device *ao_cec = context;
367 u32 reg = FIELD_PREP(CECB_RW_ADDR, addr);
368 unsigned long flags;
369 int ret = 0;
370
371 spin_lock_irqsave(&ao_cec->cec_reg_lock, flags);
^^^^^^^^^^^^^^^^^
Atomic context.
372
373 ret = regmap_write(ao_cec->regmap, CECB_RW_REG, reg);
374 if (ret)
375 goto read_out;
376
377 ret = regmap_read_poll_timeout(ao_cec->regmap, CECB_RW_REG, reg,
378 !(reg & CECB_RW_BUS_BUSY),
379 5, 1000);
^
It sleeps for 5 usecs.
380 if (ret)
381 goto read_out;
382
383 ret = regmap_read(ao_cec->regmap, CECB_RW_REG, ®);
384
385 *data = FIELD_GET(CECB_RW_RD_DATA, reg);
386
387 read_out:
388 spin_unlock_irqrestore(&ao_cec->cec_reg_lock, flags);
389
390 return ret;
391 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-05-08 7:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-08 7:30 [bug report] media: platform: meson: Add Amlogic Meson G12A AO CEC Controller driver Dan Carpenter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).