diff mbox series

ufshcd: fix Wsometimes-uninitialized warning

Message ID 20201203223137.1205933-1-arnd@kernel.org
State New
Headers show
Series ufshcd: fix Wsometimes-uninitialized warning | expand

Commit Message

Arnd Bergmann Dec. 3, 2020, 10:31 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>


clang complains about a possible code path in which a variable is
used without an initialization:

drivers/scsi/ufs/ufshcd.c:7690:3: error: variable 'sdp' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
                BUG_ON(1);
                ^~~~~~~~~
include/asm-generic/bug.h:63:36: note: expanded from macro 'BUG_ON'
 #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
                                   ^~~~~~~~~~~~~~~~~~~

Turn the BUG_ON(1) into an unconditional BUG() that makes it clear
to clang that this code path is never hit.

Fixes: 4f3e900b6282 ("scsi: ufs: Clear UAC for FFU and RPMB LUNs")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/scsi/ufs/ufshcd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.27.0

Comments

Avri Altman Dec. 5, 2020, 8:08 a.m. UTC | #1
> 

> 

> From: Arnd Bergmann <arnd@arndb.de>

> 

> clang complains about a possible code path in which a variable is

> used without an initialization:

> 

> drivers/scsi/ufs/ufshcd.c:7690:3: error: variable 'sdp' is used uninitialized

> whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]

>                 BUG_ON(1);

>                 ^~~~~~~~~

> include/asm-generic/bug.h:63:36: note: expanded from macro 'BUG_ON'

>  #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)

>                                    ^~~~~~~~~~~~~~~~~~~

> 

> Turn the BUG_ON(1) into an unconditional BUG() that makes it clear

> to clang that this code path is never hit.

> 

> Fixes: 4f3e900b6282 ("scsi: ufs: Clear UAC for FFU and RPMB LUNs")

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Reviewed-by: Avri Altman <avri.altman@wdc.com>


> ---

>  drivers/scsi/ufs/ufshcd.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c

> index f165baee937f..b4f7c4263334 100644

> --- a/drivers/scsi/ufs/ufshcd.c

> +++ b/drivers/scsi/ufs/ufshcd.c

> @@ -7687,7 +7687,7 @@ static int ufshcd_clear_ua_wlun(struct ufs_hba

> *hba, u8 wlun)

>         else if (wlun == UFS_UPIU_RPMB_WLUN)

>                 sdp = hba->sdev_rpmb;

>         else

> -               BUG_ON(1);

> +               BUG();

>         if (sdp) {

>                 ret = scsi_device_get(sdp);

>                 if (!ret && !scsi_device_online(sdp)) {

> --

> 2.27.0
Avri Altman Dec. 5, 2020, 8:11 a.m. UTC | #2
> 

> 

> From: Arnd Bergmann <arnd@arndb.de>

> 

> clang complains about a possible code path in which a variable is

> used without an initialization:

> 

> drivers/scsi/ufs/ufshcd.c:7690:3: error: variable 'sdp' is used uninitialized

> whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]

>                 BUG_ON(1);

>                 ^~~~~~~~~

> include/asm-generic/bug.h:63:36: note: expanded from macro 'BUG_ON'

>  #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)

>                                    ^~~~~~~~~~~~~~~~~~~

> 

> Turn the BUG_ON(1) into an unconditional BUG() that makes it clear

> to clang that this code path is never hit.

> 

> Fixes: 4f3e900b6282 ("scsi: ufs: Clear UAC for FFU and RPMB LUNs")

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Reviewed-by: Avri Altman <avri.altman@wdc.com>


> ---

>  drivers/scsi/ufs/ufshcd.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c

> index f165baee937f..b4f7c4263334 100644

> --- a/drivers/scsi/ufs/ufshcd.c

> +++ b/drivers/scsi/ufs/ufshcd.c

> @@ -7687,7 +7687,7 @@ static int ufshcd_clear_ua_wlun(struct ufs_hba

> *hba, u8 wlun)

>         else if (wlun == UFS_UPIU_RPMB_WLUN)

>                 sdp = hba->sdev_rpmb;

>         else

> -               BUG_ON(1);

> +               BUG();

>         if (sdp) {

>                 ret = scsi_device_get(sdp);

>                 if (!ret && !scsi_device_online(sdp)) {

> --

> 2.27.0
Martin K. Petersen Dec. 8, 2020, 1:30 a.m. UTC | #3
Arnd,

> clang complains about a possible code path in which a variable is

> used without an initialization:

>

> drivers/scsi/ufs/ufshcd.c:7690:3: error: variable 'sdp' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]

>                 BUG_ON(1);

>                 ^~~~~~~~~


Applied to 5.11/scsi-staging, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering
Martin K. Petersen Dec. 9, 2020, 5:23 p.m. UTC | #4
On Thu, 3 Dec 2020 23:31:26 +0100, Arnd Bergmann wrote:

> clang complains about a possible code path in which a variable is

> used without an initialization:

> 

> drivers/scsi/ufs/ufshcd.c:7690:3: error: variable 'sdp' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]

>                 BUG_ON(1);

>                 ^~~~~~~~~

> include/asm-generic/bug.h:63:36: note: expanded from macro 'BUG_ON'

>  #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)

>                                    ^~~~~~~~~~~~~~~~~~~

> 

> [...]


Applied to 5.11/scsi-queue, thanks!

[1/1] ufshcd: fix Wsometimes-uninitialized warning
      https://git.kernel.org/mkp/scsi/c/4c60244dc372

-- 
Martin K. Petersen	Oracle Linux Engineering
diff mbox series

Patch

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index f165baee937f..b4f7c4263334 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -7687,7 +7687,7 @@  static int ufshcd_clear_ua_wlun(struct ufs_hba *hba, u8 wlun)
 	else if (wlun == UFS_UPIU_RPMB_WLUN)
 		sdp = hba->sdev_rpmb;
 	else
-		BUG_ON(1);
+		BUG();
 	if (sdp) {
 		ret = scsi_device_get(sdp);
 		if (!ret && !scsi_device_online(sdp)) {