diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/block.c | 1 | ||||
-rw-r--r-- | common/firmware.c | 2 | ||||
-rw-r--r-- | common/ratp/md.c | 9 |
3 files changed, 6 insertions, 6 deletions
diff --git a/common/block.c b/common/block.c index 8d0de42d90..d90c98948c 100644 --- a/common/block.c +++ b/common/block.c @@ -350,7 +350,6 @@ static struct cdev_operations block_ops = { #endif .close = block_op_close, .flush = block_op_flush, - .lseek = dev_lseek_default, }; int blockdevice_register(struct block_device *blk) diff --git a/common/firmware.c b/common/firmware.c index 250fef5378..9d55d73e7a 100644 --- a/common/firmware.c +++ b/common/firmware.c @@ -177,7 +177,7 @@ int firmwaremgr_register(struct firmware_handler *fh) cdev = &mgr->cdev; cdev->name = xstrdup(fh->id); - cdev->size = FILE_SIZE_STREAM; + cdev->flags = DEVFS_IS_CHARACTER_DEV; cdev->ops = &firmware_ops; cdev->priv = mgr; cdev->dev = fh->dev; diff --git a/common/ratp/md.c b/common/ratp/md.c index ce343d7c7b..a25cbf1127 100644 --- a/common/ratp/md.c +++ b/common/ratp/md.c @@ -59,8 +59,6 @@ struct ratp_bb_md_response { uint8_t buffer[]; } __packed; -extern char *mem_rw_buf; - static int do_ratp_mem_md(const char *filename, loff_t start, loff_t size, @@ -70,6 +68,7 @@ static int do_ratp_mem_md(const char *filename, int ret = 0; int fd; void *map; + char *buf = NULL; fd = open_and_lseek(filename, O_RWSIZE_1 | O_RDONLY, start); if (fd < 0) @@ -81,10 +80,11 @@ static int do_ratp_mem_md(const char *filename, goto out; } + buf = xmalloc(RW_BUF_SIZE); t = 0; do { now = min(size, (loff_t)RW_BUF_SIZE); - r = read(fd, mem_rw_buf, now); + r = read(fd, buf, now); if (r < 0) { ret = -errno; perror("read"); @@ -93,13 +93,14 @@ static int do_ratp_mem_md(const char *filename, if (!r) goto out; - memcpy(output + t, (uint8_t *)(mem_rw_buf), r); + memcpy(output + t, buf, r); size -= r; t += r; } while (size); out: + free(buf); close(fd); return ret; |