On Fri, Jun 06, 2014 at 07:31:28PM +0000, Linux Kernel wrote:
 > Gitweb:     
 > http://git.kernel.org/linus/;a=commit;h=9d230c9e4f4e67cb1c1cb9e0f6142da16b0f2796
 > Commit:     9d230c9e4f4e67cb1c1cb9e0f6142da16b0f2796
 > Parent:     5271db29d7199fe0ffb303ca4bbbb1485bba28c3
 > Refname:    refs/heads/next
 > Author:     Doug Anderson <diand...@chromium.org>
 > AuthorDate: Wed Apr 30 10:44:09 2014 -0700
 > Committer:  Lee Jones <lee.jo...@linaro.org>
 > CommitDate: Tue Jun 3 08:11:49 2014 +0100

 > +static int ec_i2c_construct_message(u8 *buf, const struct i2c_msg 
 > i2c_msgs[],
 > +                                int num, u16 bus_num)
 > +{
 > +    struct ec_params_i2c_passthru *params;
 > +    u8 *out_data;
 > +    int i;
 > +
 > +    out_data = buf + sizeof(struct ec_params_i2c_passthru) +
 > +               num * sizeof(struct ec_params_i2c_passthru_msg);
 > +
 > +    params = (struct ec_params_i2c_passthru *)buf;
 > +    params->port = bus_num;
 > +    params->num_msgs = num;
 > +    for (i = 0; i < num; i++) {
 > +            const struct i2c_msg *i2c_msg = &i2c_msgs[i];
 > +            struct ec_params_i2c_passthru_msg *msg = &params->msg[i];
 > +
 > +            msg->len = i2c_msg->len;
 > +            msg->addr_flags = i2c_msg->addr;
 > +
 > +            if (i2c_msg->flags & I2C_M_TEN)
 > +                    msg->addr_flags |= EC_I2C_FLAG_10BIT;

This is a fun bug. EC_I2C_FLAG_10BIT is 1<<16, but msg->addr_flags is only a 
uint16.

        Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to