* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.