RE: [PATCH] ahci: qoriq: fixed using uninitialized variable warnings
From: Yuantian Tang <hidden>
Date: 2015-09-11 05:27:37
Also in:
linux-devicetree, lkml
Hi Tejun, Could you please take the version 1 patch? The version 2 patch can't address these warnings, and the version 1 can definitely remove them. In this case, that would cause any hidden bugs, so no worries. Regards, Yuantian
-----Original Message----- From: Tejun Heo [mailto:htejun@gmail.com] On Behalf Of Tejun Heo Sent: Wednesday, September 09, 2015 10:02 PM To: Tang Yuantian-B29983 <redacted> Cc: hdegoede@redhat.com; linux-ide@vger.kernel.org; linux- kernel@vger.kernel.org; devicetree@vger.kernel.org Subject: Re: [PATCH] ahci: qoriq: fixed using uninitialized variable warnings On Wed, Sep 09, 2015 at 05:16:22PM +0800, Yuantian.Tang@freescale.com wrote:quoted
From: Tang Yuantian <redacted> kbuild test robot reports the warnings: drivers/ata/ahci_qoriq.c: In function 'ahci_qoriq_hardreset':quoted
quoted
include/asm-generic/io.h:163:2: warning: 'px_is' may be used uninitialized in this function [-Wuninitialized]drivers/ata/ahci_qoriq.c:70:14: note: 'px_is' was declared herequoted
quoted
include/asm-generic/io.h:163:2: warning: 'px_cmd' may be used uninitialized in this function [-Wuninitialized]drivers/ata/ahci_qoriq.c:70:6: note: 'px_cmd' was declared here This patch fixed it by assigning 0 to px_is and px_cmd variables. This patch also remove line 'struct ccsr_ahci *reg_base' which is not referred by any other codes and thus a dead one.Hmm... I think the problem here is that the complier can't know whether qoriq_priv->type would change across intervening function calls. Maybe a better solution is caching the type in a local variable so that the compiler can tell that those two tests will always move together? It generally isn't a good idea to clear variables unnecessarily as that can hide actual bugs that compiler can detect. Thanks. -- tejun