> + if (msg_temp->len > 64) > + return -EPROTO; Please populate and use 'struct i2c_adapter_quirks' so the I2C core can handle the checks for you. At least max_read_len and max_write_len. But please also do check the other flags. Usually, USB adapters have way more limitations than the buffer size.