aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/i2c/cx25840/cx25840-firmware.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/i2c/cx25840/cx25840-firmware.c')
-rw-r--r--drivers/media/i2c/cx25840/cx25840-firmware.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/media/i2c/cx25840/cx25840-firmware.c b/drivers/media/i2c/cx25840/cx25840-firmware.c
index b3169f94ece8..9bbb31adc29d 100644
--- a/drivers/media/i2c/cx25840/cx25840-firmware.c
+++ b/drivers/media/i2c/cx25840/cx25840-firmware.c
@@ -113,7 +113,7 @@ int cx25840_loadfw(struct i2c_client *client)
113 const u8 *ptr; 113 const u8 *ptr;
114 const char *fwname = get_fw_name(client); 114 const char *fwname = get_fw_name(client);
115 int size, retval; 115 int size, retval;
116 int MAX_BUF_SIZE = FWSEND; 116 int max_buf_size = FWSEND;
117 u32 gpio_oe = 0, gpio_da = 0; 117 u32 gpio_oe = 0, gpio_da = 0;
118 118
119 if (is_cx2388x(state)) { 119 if (is_cx2388x(state)) {
@@ -122,10 +122,9 @@ int cx25840_loadfw(struct i2c_client *client)
122 gpio_da = cx25840_read(client, 0x164); 122 gpio_da = cx25840_read(client, 0x164);
123 } 123 }
124 124
125 if (is_cx231xx(state) && MAX_BUF_SIZE > 16) { 125 /* cx231xx cannot accept more than 16 bytes at a time */
126 v4l_err(client, " Firmware download size changed to 16 bytes max length\n"); 126 if (is_cx231xx(state) && max_buf_size > 16)
127 MAX_BUF_SIZE = 16; /* cx231xx cannot accept more than 16 bytes at a time */ 127 max_buf_size = 16;
128 }
129 128
130 if (request_firmware(&fw, fwname, FWDEV(client)) != 0) { 129 if (request_firmware(&fw, fwname, FWDEV(client)) != 0) {
131 v4l_err(client, "unable to open firmware %s\n", fwname); 130 v4l_err(client, "unable to open firmware %s\n", fwname);
@@ -140,7 +139,7 @@ int cx25840_loadfw(struct i2c_client *client)
140 size = fw->size; 139 size = fw->size;
141 ptr = fw->data; 140 ptr = fw->data;
142 while (size > 0) { 141 while (size > 0) {
143 int len = min(MAX_BUF_SIZE - 2, size); 142 int len = min(max_buf_size - 2, size);
144 143
145 memcpy(buffer + 2, ptr, len); 144 memcpy(buffer + 2, ptr, len);
146 145