aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c
diff options
context:
space:
mode:
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>2015-09-17 07:12:54 -0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-10-22 15:48:24 -0200
commit51a3ac5f4dc45120c78fad51096d989914801457 (patch)
tree34149c80c09a17ebd468c62b4d979b2ffd778d86 /drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c
parent[media] c8sectpfe: fix ininitialized error return on firmware load failure (diff)
downloadlinux-dev-51a3ac5f4dc45120c78fad51096d989914801457.tar.xz
linux-dev-51a3ac5f4dc45120c78fad51096d989914801457.zip
[media] c8sectpfe: fix return of garbage
The variable err was never initialized, that means we had been checking a garbage value in the for loop. Moreover if the segment is not outside the firmware file then also we have been returning the garbage. Initialize it to 0 so that on success we return the value and no need to check in the for loop also as it is initially 0 and whenever that value changes we have done a break from the loop. Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to '')
-rw-r--r--drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c b/drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c
index 16aa494f22be..f922f2e827bc 100644
--- a/drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c
+++ b/drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c
@@ -1097,7 +1097,7 @@ static int load_slim_core_fw(const struct firmware *fw, void *context)
Elf32_Ehdr *ehdr;
Elf32_Phdr *phdr;
u8 __iomem *dst;
- int err, i;
+ int err = 0, i;
if (!fw || !context)
return -EINVAL;
@@ -1106,7 +1106,7 @@ static int load_slim_core_fw(const struct firmware *fw, void *context)
phdr = (Elf32_Phdr *)(fw->data + ehdr->e_phoff);
/* go through the available ELF segments */
- for (i = 0; i < ehdr->e_phnum && !err; i++, phdr++) {
+ for (i = 0; i < ehdr->e_phnum; i++, phdr++) {
/* Only consider LOAD segments */
if (phdr->p_type != PT_LOAD)