Hello Andrew Lunn, The patch 4e4aafcddbbf: "net: mdio: Add dedicated C45 API to MDIO bus drivers" from Jan 9, 2023, leads to the following Smatch static checker warning: drivers/net/phy/mdio_bus.c:1003 mdiobus_c45_read() warn: sleeping in atomic context drivers/net/phy/mdio_bus.c:1104 mdiobus_c45_write() warn: sleeping in atomic context drivers/net/phy/mdio_bus.c 993 * @regnum: register number to read 994 * 995 * NOTE: MUST NOT be called from interrupt context, 996 * because the bus read/write functions may wait for an interrupt 997 * to conclude the operation. 998 */ 999 int mdiobus_c45_read(struct mii_bus *bus, int addr, int devad, u32 regnum) 1000 { 1001 int retval; 1002 --> 1003 mutex_lock(&bus->mdio_lock); ^^^^^^^^^^^^^^^^^^^^^^^^^^^ This takes a mutex. 1004 retval = __mdiobus_c45_read(bus, addr, devad, regnum); 1005 mutex_unlock(&bus->mdio_lock); 1006 1007 return retval; 1008 } The problematic call tree is: b44_ioctl() <- disables preempt -> phy_mii_ioctl() -> mdiobus_c45_read() regards, dan carpenter