On Mon, Sep 22, 2014 at 11:59 AM, Wolfram Sang <wsa@xxxxxxxxxxxxx> wrote: >> >> +static int >> >> +axxia_i2c_xfer_msg(struct axxia_i2c_dev *idev, struct i2c_msg *msg) >> >> +{ >> >> + u32 int_mask = MST_STATUS_ERR | MST_STATUS_SNS; >> >> + u32 rx_xfer, tx_xfer; >> >> + u32 addr_1, addr_2; >> >> + int ret; >> >> + >> >> + if (msg->len == 0 || msg->len > 255) >> >> + return -EINVAL; >> > >> > Ouch, really? Maybe we should warn the user here. >> >> Yeah, the transfer length register limits the length to 255. I'll add >> a warning here. > > Please also add this information to the Kconfig description and > somewhere at the top of the source file. This is an important flaw which > people should easily find out about. > You are referring to the "len <= 255" restriction being the flaw here, right? I'll add a note to Kconfig and the driver about that. The other part of the condition (msg->len == 0) should actually go away. The controller can do zero-length-data transfers. I'll fix that for next round. /Anders -- 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