}
snprintf(data_path, sizeof(data_path), "/sys/%s/data", devpath);
- fw_path[sizeof(data_path)-1] = '\0';
+ data_path[sizeof(data_path)-1] = '\0';
fw_fd = open(data_path, O_RDWR);
if (fw_fd < 0) {
rc = errno;
count = 0;
while (count < fw_buffer_size) {
- int c;
+ ssize_t c;
- c = write(fw_fd, fw_buffer+count, fw_buffer_size);
+ c = write(fw_fd, fw_buffer+count, fw_buffer_size-count);
if (c <= 0) {
rc = errno;
close(fw_fd);