… > +++ b/drivers/i2c/busses/i2c-rtl9300.c > @@ -0,0 +1,422 @@ … > +static int rtl9300_i2c_smbus_xfer(struct i2c_adapter *adap, u16 addr, unsigned short flags, > + char read_write, u8 command, int size, > + union i2c_smbus_data *data) > +{ … > + mutex_lock(&i2c->lock); > + if (chan->sda_pin != i2c->sda_pin) { … > +out_unlock: > + mutex_unlock(&i2c->lock); > + > + return ret; > +} … Under which circumstances would you become interested to apply a statement like “guard(mutex)(&i2c->lock);”? https://elixir.bootlin.com/linux/v6.11/source/include/linux/mutex.h#L196 Regards, Markus