--- zzzz-none-000/linux-5.15.111/drivers/i2c/busses/i2c-designware-slave.c 2023-05-11 14:00:40.000000000 +0000 +++ puma7-atom-6670-761/linux-5.15.111/drivers/i2c/busses/i2c-designware-slave.c 2024-02-07 10:23:01.000000000 +0000 @@ -41,9 +41,14 @@ { int ret; - ret = i2c_dw_acquire_lock(dev); - if (ret) - return ret; + /* if the host is shared between other units on the SoC */ + if (dev->shared_host && dev->acquire_ownership) { + ret = dev->acquire_ownership(); + if (ret < 0) { + dev_WARN(dev->dev, "couldnt acquire ownership\n"); + return ret; + } + } /* Disable the adapter. */ __i2c_dw_disable(dev);