mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-15 15:15:47 +00:00
[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>
This commit is contained in:
parent
bf447221a8
commit
51a3ac5f4d
1 changed files with 2 additions and 2 deletions
|
@ -1097,7 +1097,7 @@ static int load_slim_core_fw(const struct firmware *fw, void *context)
|
||||||
Elf32_Ehdr *ehdr;
|
Elf32_Ehdr *ehdr;
|
||||||
Elf32_Phdr *phdr;
|
Elf32_Phdr *phdr;
|
||||||
u8 __iomem *dst;
|
u8 __iomem *dst;
|
||||||
int err, i;
|
int err = 0, i;
|
||||||
|
|
||||||
if (!fw || !context)
|
if (!fw || !context)
|
||||||
return -EINVAL;
|
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);
|
phdr = (Elf32_Phdr *)(fw->data + ehdr->e_phoff);
|
||||||
|
|
||||||
/* go through the available ELF segments */
|
/* 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 */
|
/* Only consider LOAD segments */
|
||||||
if (phdr->p_type != PT_LOAD)
|
if (phdr->p_type != PT_LOAD)
|
||||||
|
|
Loading…
Reference in a new issue