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