Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-29

Re: [PATCH] dsa: b53: avoid 'maybe-uninitialized' warning

From: David Miller <davem@davemloft.net>
Date: 2016-06-29 09:08:10
Also in: lkml

From: Arnd Bergmann <arnd@arndb.de>
Date: Mon, 27 Jun 2016 11:19:13 +0200
In some configurations, gcc produces a warning for correct code
in this driver:
 ...
I have seen the warning before and at the time thought I had fixed
it with 55e7f6abe131 ("dsa: b53: fix big-endian register access"),
however it now came back in a different randconfig build that happens
to have different inlining decisions in the compiler.

The mistake that gcc makes here is that it thinks the second call to
readl() might fail because the address 'reg + 4' is not a multiple
of four despite having knowing that 'reg' itself is a multiple of four.

By open-coding the two reads without the redundant alignment check,
we can avoid the warning and produce slightly better object code, but
get slightly longer source code instead.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Applied, thanks Arnd.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help