diff mbox

[RESEND] IB/qib: fix false-postive maybe-uninitialized warning

Message ID 20170314121855.237347-1-arnd@arndb.de (mailing list archive)
State Accepted
Headers show

Commit Message

Arnd Bergmann March 14, 2017, 12:18 p.m. UTC
aarch64-linux-gcc-7 complains about code it doesn't fully understand:

drivers/infiniband/hw/qib/qib_iba7322.c: In function 'qib_7322_txchk_change':
include/asm-generic/bitops/non-atomic.h:105:35: error: 'shadow' may be used uninitialized in this function [-Werror=maybe-uninitialized]

The code is right, and despite trying hard, I could not come up with a version
that I liked better than just adding a fake initialization here to shut up the
warning.

Fixes: f931551bafe1 ("IB/qib: Add new qib driver for QLogic PCIe InfiniBand adapters")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Ira Weiny <ira.weiny@intel.com>
---
Submitted originally on Feb 27, the patch is still required on v4.11-rc2 to get
a clean build.
---
 drivers/infiniband/hw/qib/qib_iba7322.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Doug Ledford March 25, 2017, 2:46 a.m. UTC | #1
On Tue, 2017-03-14 at 13:18 +0100, Arnd Bergmann wrote:
> aarch64-linux-gcc-7 complains about code it doesn't fully understand:
> 
> drivers/infiniband/hw/qib/qib_iba7322.c: In function
> 'qib_7322_txchk_change':
> include/asm-generic/bitops/non-atomic.h:105:35: error: 'shadow' may
> be used uninitialized in this function [-Werror=maybe-uninitialized]
> 
> The code is right, and despite trying hard, I could not come up with
> a version
> that I liked better than just adding a fake initialization here to
> shut up the
> warning.
> 
> Fixes: f931551bafe1 ("IB/qib: Add new qib driver for QLogic PCIe
> InfiniBand adapters")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Acked-by: Ira Weiny <ira.weiny@intel.com>
> ---
> Submitted originally on Feb 27, the patch is still required on v4.11-
> rc2 to get
> a clean build.
> ---
>  drivers/infiniband/hw/qib/qib_iba7322.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c
> b/drivers/infiniband/hw/qib/qib_iba7322.c
> index 12c4208fd701..af9f596bb68b 100644
> --- a/drivers/infiniband/hw/qib/qib_iba7322.c
> +++ b/drivers/infiniband/hw/qib/qib_iba7322.c
> @@ -7068,7 +7068,7 @@ static void qib_7322_txchk_change(struct
> qib_devdata *dd, u32 start,
>  	unsigned long flags;
>  
>  	while (wait) {
> -		unsigned long shadow;
> +		unsigned long shadow = 0;
>  		int cstart, previ = -1;
>  
>  		/*

Applied.  Although, it would be preferable to fix the compiler, but I
don't have any control over that and as this breaks compiles with
-Werror, I'll relent and let it in.
diff mbox

Patch

diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c b/drivers/infiniband/hw/qib/qib_iba7322.c
index 12c4208fd701..af9f596bb68b 100644
--- a/drivers/infiniband/hw/qib/qib_iba7322.c
+++ b/drivers/infiniband/hw/qib/qib_iba7322.c
@@ -7068,7 +7068,7 @@  static void qib_7322_txchk_change(struct qib_devdata *dd, u32 start,
 	unsigned long flags;
 
 	while (wait) {
-		unsigned long shadow;
+		unsigned long shadow = 0;
 		int cstart, previ = -1;
 
 		/*