aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/hid/hid-picolcd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/hid/hid-picolcd.c b/drivers/hid/hid-picolcd.c
index de9cf21b3494..6f0642ea1009 100644
--- a/drivers/hid/hid-picolcd.c
+++ b/drivers/hid/hid-picolcd.c
@@ -1584,11 +1584,11 @@ static ssize_t picolcd_debug_eeprom_write(struct file *f, const char __user *u,
1584 memset(raw_data, 0, sizeof(raw_data)); 1584 memset(raw_data, 0, sizeof(raw_data));
1585 raw_data[0] = *off & 0xff; 1585 raw_data[0] = *off & 0xff;
1586 raw_data[1] = (*off >> 8) & 0xff; 1586 raw_data[1] = (*off >> 8) & 0xff;
1587 raw_data[2] = s < 20 ? s : 20; 1587 raw_data[2] = min((size_t)20, s);
1588 if (*off + raw_data[2] > 0xff) 1588 if (*off + raw_data[2] > 0xff)
1589 raw_data[2] = 0x100 - *off; 1589 raw_data[2] = 0x100 - *off;
1590 1590
1591 if (copy_from_user(raw_data+3, u, raw_data[2])) 1591 if (copy_from_user(raw_data+3, u, min((u8)20, raw_data[2])))
1592 return -EFAULT; 1592 return -EFAULT;
1593 resp = picolcd_send_and_wait(data->hdev, REPORT_EE_WRITE, raw_data, 1593 resp = picolcd_send_and_wait(data->hdev, REPORT_EE_WRITE, raw_data,
1594 sizeof(raw_data)); 1594 sizeof(raw_data));