On 15/08/2013 14:13, Wolfram Sang wrote: > >> + if ((msg->flags & I2C_M_RD) == 0) { + for (i = 0; i < 4 && i < msg->len; i++) + data_reg_lo = data_reg_lo | + (msg->buf[i] << ((i & 0x3) * 8)); + + for (i = 4; i < 8 && i < >> msg->len; i++) + data_reg_hi = data_reg_hi | + (msg->buf[i] << ((i & 0x3) * 8)); > > Same comment as in the last version: What about be32_to_cpu and friends instead of the loops (here and later)? > We can't use be32_to_cpu and friends, because one of the stop condition of this loop is the length of the msg. For reading from msg->buf we could consider to mask the irrelevant part.But for writing to msg->buf it would imply to write outside of the allocated buffer! Do you agree to not change anything on this patch? Thanks, -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html