Skip to content

Commit

Permalink
dell_rbu: use memory_read_from_buffer()
Browse files Browse the repository at this point in the history
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Abhay Salunke <Abhay_Salunke@dell.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Akinobu Mita authored and Linus Torvalds committed Jul 25, 2008
1 parent d991696 commit 2537747
Showing 1 changed file with 3 additions and 25 deletions.
28 changes: 3 additions & 25 deletions drivers/firmware/dell_rbu.c
Original file line number Diff line number Diff line change
Expand Up @@ -507,40 +507,18 @@ static ssize_t read_packet_data(char *buffer, loff_t pos, size_t count)

static ssize_t read_rbu_mono_data(char *buffer, loff_t pos, size_t count)
{
unsigned char *ptemp = NULL;
size_t bytes_left = 0;
size_t data_length = 0;
ssize_t ret_count = 0;

/* check to see if we have something to return */
if ((rbu_data.image_update_buffer == NULL) ||
(rbu_data.bios_image_size == 0)) {
pr_debug("read_rbu_data_mono: image_update_buffer %p ,"
"bios_image_size %lu\n",
rbu_data.image_update_buffer,
rbu_data.bios_image_size);
ret_count = -ENOMEM;
goto read_rbu_data_exit;
}

if (pos > rbu_data.bios_image_size) {
ret_count = 0;
goto read_rbu_data_exit;
return -ENOMEM;
}

bytes_left = rbu_data.bios_image_size - pos;
data_length = min(bytes_left, count);

ptemp = rbu_data.image_update_buffer;
memcpy(buffer, (ptemp + pos), data_length);

if ((pos + count) > rbu_data.bios_image_size)
/* this was the last copy */
ret_count = bytes_left;
else
ret_count = count;
read_rbu_data_exit:
return ret_count;
return memory_read_from_buffer(buffer, count, &pos,
rbu_data.image_update_buffer, rbu_data.bios_image_size);
}

static ssize_t read_rbu_data(struct kobject *kobj,
Expand Down

0 comments on commit 2537747

Please sign in to comment.