Lines Matching refs:msgs
234 unsigned nmsgs, struct i2c_msg *msgs) in i2cdev_ioctl_rdwr() argument
241 kfree(msgs); in i2cdev_ioctl_rdwr()
248 if (msgs[i].len > 8192) { in i2cdev_ioctl_rdwr()
253 data_ptrs[i] = (u8 __user *)msgs[i].buf; in i2cdev_ioctl_rdwr()
254 msgs[i].buf = memdup_user(data_ptrs[i], msgs[i].len); in i2cdev_ioctl_rdwr()
255 if (IS_ERR(msgs[i].buf)) { in i2cdev_ioctl_rdwr()
256 res = PTR_ERR(msgs[i].buf); in i2cdev_ioctl_rdwr()
260 msgs[i].flags |= I2C_M_DMA_SAFE; in i2cdev_ioctl_rdwr()
273 if (msgs[i].flags & I2C_M_RECV_LEN) { in i2cdev_ioctl_rdwr()
274 if (!(msgs[i].flags & I2C_M_RD) || in i2cdev_ioctl_rdwr()
275 msgs[i].len < 1 || msgs[i].buf[0] < 1 || in i2cdev_ioctl_rdwr()
276 msgs[i].len < msgs[i].buf[0] + in i2cdev_ioctl_rdwr()
283 msgs[i].len = msgs[i].buf[0]; in i2cdev_ioctl_rdwr()
289 kfree(msgs[j].buf); in i2cdev_ioctl_rdwr()
291 kfree(msgs); in i2cdev_ioctl_rdwr()
295 res = i2c_transfer(client->adapter, msgs, nmsgs); in i2cdev_ioctl_rdwr()
297 if (res >= 0 && (msgs[i].flags & I2C_M_RD)) { in i2cdev_ioctl_rdwr()
298 if (copy_to_user(data_ptrs[i], msgs[i].buf, in i2cdev_ioctl_rdwr()
299 msgs[i].len)) in i2cdev_ioctl_rdwr()
302 kfree(msgs[i].buf); in i2cdev_ioctl_rdwr()
305 kfree(msgs); in i2cdev_ioctl_rdwr()
446 rdwr_pa = memdup_user(rdwr_arg.msgs, in i2cdev_ioctl()
508 compat_caddr_t msgs; /* struct i2c_msg __user *msgs */ member
539 p = compat_ptr(rdwr_arg.msgs); in compat_i2cdev_ioctl()