2007-10-19 17:51:52

by Samuel Tardieu

[permalink] [raw]
Subject: [PATCH] eccbuf is statically defined and always evaluate to true

---
drivers/mtd/devices/doc2000.c | 4 ++--
drivers/mtd/devices/doc2001plus.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/mtd/devices/doc2000.c b/drivers/mtd/devices/doc2000.c
index c73e96b..e9ce241 100644
--- a/drivers/mtd/devices/doc2000.c
+++ b/drivers/mtd/devices/doc2000.c
@@ -632,7 +632,7 @@ static int doc_read(struct mtd_info *mtd, loff_t from, size_t len,
len = ((from | 0x1ff) + 1) - from;

/* The ECC will not be calculated correctly if less than 512 is read */
- if (len != 0x200 && eccbuf)
+ if (len != 0x200)
printk(KERN_WARNING
"ECC needs a full sector read (adr: %lx size %lx)\n",
(long) from, (long) len);
@@ -896,7 +896,7 @@ static int doc_write(struct mtd_info *mtd, loff_t to, size_t len,
/* Let the caller know we completed it */
*retlen += len;

- if (eccbuf) {
+ {
unsigned char x[8];
size_t dummy;
int ret;
diff --git a/drivers/mtd/devices/doc2001plus.c b/drivers/mtd/devices/doc2001plus.c
index 2b30b58..83be346 100644
--- a/drivers/mtd/devices/doc2001plus.c
+++ b/drivers/mtd/devices/doc2001plus.c
@@ -748,7 +748,7 @@ static int doc_write(struct mtd_info *mtd, loff_t to, size_t len,
WriteDOC(DoC_GetDataOffset(mtd, &fto), docptr, Mplus_FlashCmd);

/* On interleaved devices the flags for 2nd half 512 are before data */
- if (eccbuf && before)
+ if (before)
fto -= 2;

/* issue the Serial Data In command to initial the Page Program process */
--
1.5.3.4


2007-10-19 18:17:23

by Samuel Tardieu

[permalink] [raw]
Subject: Re: [PATCH] eccbuf is statically defined and always evaluate to true

Off course, there should be the required

Signed-off-by: Samuel Tardieu <[email protected]>

on this patch.

Sam
--
Samuel Tardieu -- [email protected] -- http://www.rfc1149.net/

2007-10-19 19:10:50

by Jörn Engel

[permalink] [raw]
Subject: Re: [PATCH] eccbuf is statically defined and always evaluate to true

On Fri, 19 October 2007 19:26:35 +0200, Samuel Tardieu wrote:
>
> ---
> drivers/mtd/devices/doc2000.c | 4 ++--
> drivers/mtd/devices/doc2001plus.c | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)

Acked-by: Joern Engel <[email protected]>

I assume you don't actually use this driver and just ran make
randconfig or allyesconfig or so..

Jörn

--
Science is like sex: sometimes something useful comes out,
but that is not the reason we are doing it.
-- Richard Feynman

2007-10-19 19:59:57

by Samuel Tardieu

[permalink] [raw]
Subject: Re: [PATCH] eccbuf is statically defined and always evaluate to true

On 19/10, Jörn Engel wrote:

| I assume you don't actually use this driver and just ran make
| randconfig or allyesconfig or so..

I tried the latest svn tip of GCC and it looks like this warning is
quite recent (and I happened to have this driver enabled as a module
in my kernel):

drivers/mtd/devices/doc2000.c: In function ‘doc_read’:
drivers/mtd/devices/doc2000.c:635: warning: the address of ‘eccbuf’ will always evaluate as ‘true’
drivers/mtd/devices/doc2000.c: In function ‘doc_write’:
drivers/mtd/devices/doc2000.c:899: warning: the address of ‘eccbuf’ will always evaluate as ‘true’
drivers/mtd/devices/doc2001plus.c: In function ‘doc_write’:
drivers/mtd/devices/doc2001plus.c:751: warning: the address of ‘eccbuf’ will always evaluate as ‘true’