Re: [PATCHv2] MTD: Suppress warnings in inline_map_read()

Previous thread: [PATCH 1/4] kernel: local_irq_{save,restore}_nmi() by David Miller on Friday, April 9, 2010 - 4:01 pm. (3 messages)

Next thread: bt878/msp3445 Audio Channel Swapping by Paul Braman on Friday, April 9, 2010 - 4:34 pm. (1 message)
From: root
Date: Friday, April 9, 2010 - 3:45 pm

With gcc 4.4.3 -O2 on MIPS32:

drivers/mtd/chips/cfi_util.c: In function 'cfi_qry_present':
include/linux/mtd/map.h:390: warning: 'r' may be used uninitialized in this function
include/linux/mtd/map.h:375: note: 'r' was declared here
include/linux/mtd/map.h:390: warning: 'r' may be used uninitialized in this function
include/linux/mtd/map.h:375: note: 'r' was declared here

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
---
 include/linux/mtd/map.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/linux/mtd/map.h b/include/linux/mtd/map.h
index b981b87..74f0277 100644
--- a/include/linux/mtd/map.h
+++ b/include/linux/mtd/map.h
@@ -372,7 +372,7 @@ static inline map_word map_word_ff(struct map_info *map)
 
 static inline map_word inline_map_read(struct map_info *map, unsigned long ofs)
 {
-	map_word r;
+	map_word r = { { 0 } };
 
 	if (map_bankwidth_is_1(map))
 		r.x[0] = __raw_readb(map->virt + ofs);
-- 
1.6.3.1

--

From: David Woodhouse
Date: Saturday, April 10, 2010 - 2:26 am

I suspect 'else BUG()' would be a better fix.

-- 
David Woodhouse                            Open Source Technology Centre
David.Woodhouse@intel.com                              Intel Corporation

--

From: Kevin Cernekee
Date: Saturday, April 10, 2010 - 11:18 am

With gcc 4.4.3 -O2 on MIPS32:

drivers/mtd/chips/cfi_util.c: In function 'cfi_qry_present':
include/linux/mtd/map.h:390: warning: 'r' may be used uninitialized in this function
include/linux/mtd/map.h:375: note: 'r' was declared here
include/linux/mtd/map.h:390: warning: 'r' may be used uninitialized in this function
include/linux/mtd/map.h:375: note: 'r' was declared here

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
---
 include/linux/mtd/map.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/include/linux/mtd/map.h b/include/linux/mtd/map.h
index b981b87..56a4592 100644
--- a/include/linux/mtd/map.h
+++ b/include/linux/mtd/map.h
@@ -386,6 +386,8 @@ static inline map_word inline_map_read(struct map_info *map, unsigned long ofs)
 #endif
 	else if (map_bankwidth_is_large(map))
 		memcpy_fromio(r.x, map->virt+ofs, map->bankwidth);
+	else
+		BUG();
 
 	return r;
 }
-- 
1.6.3.1

--

From: Artem Bityutskiy
Date: Tuesday, April 27, 2010 - 12:46 am

Pushed to l2-mtd-2.6 / dunno

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)

--

From: Artem Bityutskiy
Date: Tuesday, May 4, 2010 - 6:04 am

Removed from my tree because this breaks compilation:

[dedekind@eru l2-mtd-2.6]$ make  ARCH=arm O=/home/dedekind/tmp/l2-mtd-2.6-arm/
  Using /home/dedekind/git/l2-mtd-2.6 as source for kernel
  GEN     /home/dedekind/tmp/l2-mtd-2.6-arm/Makefile
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[2]: `include/generated/mach-types.h' is up to date.
  CALL    /home/dedekind/git/l2-mtd-2.6/scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC [M]  drivers/mtd/lpddr/lpddr_cmds.o
In file included from /home/dedekind/git/l2-mtd-2.6/include/linux/mtd/qinfo.h:4,
                 from /home/dedekind/git/l2-mtd-2.6/include/linux/mtd/pfow.h:7,
                 from /home/dedekind/git/l2-mtd-2.6/drivers/mtd/lpddr/lpddr_cmds.c:27:
/home/dedekind/git/l2-mtd-2.6/include/linux/mtd/map.h: In function 'inline_map_read':
/home/dedekind/git/l2-mtd-2.6/include/linux/mtd/map.h:390: error: implicit declaration of function 'BUG'
make[4]: *** [drivers/mtd/lpddr/lpddr_cmds.o] Error 1
make[3]: *** [drivers/mtd/lpddr] Error 2
make[2]: *** [drivers/mtd] Error 2
make[1]: *** [drivers] Error 2
make: *** [sub-make] Error 2
[dedekind@eru l2-mtd-2.6]$ git revert ae60e258dda8a9c575fcbd68f05ca034ad043a36^C
[dedekind@eru l2-mtd-2.6]$ git log 

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)

--

From: Kevin Cernekee
Date: Tuesday, May 4, 2010 - 1:06 pm

I did test my patch, but it didn't generate any warnings or errors on MIPS...

Could you please apply this patch and retry:

http://lists.infradead.org/pipermail/linux-mtd/2010-May/029904.html

<linux/bug.h> should probably be added anyway since there are two
other BUG statements in that file.

Thanks.
--

From: Artem Bityutskiy
Date: Wednesday, May 5, 2010 - 5:11 am

Pushed this patch and the '[PATCH] mtd: map.h: add missing bug.h
include' one back to l2-mtd-2.6 / dunno.

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)

--

Previous thread: [PATCH 1/4] kernel: local_irq_{save,restore}_nmi() by David Miller on Friday, April 9, 2010 - 4:01 pm. (3 messages)

Next thread: bt878/msp3445 Audio Channel Swapping by Paul Braman on Friday, April 9, 2010 - 4:34 pm. (1 message)