[U-Boot] [PATCH] scsi: fix compiler warning with DEBUG and 48bit LBAs

Bin Meng bmeng.cn at gmail.com
Thu Jul 2 04:54:29 CEST 2015


On Thu, Jul 2, 2015 at 8:04 AM, Andre Przywara <osp at andrep.de> wrote:
> Commit 2b42c9317db ("ahci: support LBA48 data reads for 2+TB drives")
> introduced conditional code which triggers a warning when compiled
> with DEBUG enabled:
>
> In file included from common/cmd_scsi.c:12:0:
> common/cmd_scsi.c: In function 'scsi_read':
> include/common.h:109:4: warning: 'smallblks' may be used uninitialized in this function [-Wmaybe-uninitialized]
> ...
>
> Since this is for debug only, take the easy way and initialize the
> variable explicitly on declaration to avoid the warning.
> (Fix a nearby whitespace error on the way.)
>
> Signed-off-by: Andre Przywara <osp at andrep.de>

Tested-by: Bin Meng <bmeng.cn at gmail.com>

> ---
> Hi,
>
> Bin: Sorry for the late reply, does that fix your problem?
>
> Tom: Can you take this for 2015.07? Admittedly a quick fix
> (the debug output for big disks would be bogus).
> If you are interested: I have a proper solution unfiying all three
> blocks and fixing the problem properly, but I guess that's nothing
> for this release still.
>
> Cheers,
> Andre.
>
>  common/cmd_scsi.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/common/cmd_scsi.c b/common/cmd_scsi.c
> index aaca3e8..31c4319 100644
> --- a/common/cmd_scsi.c
> +++ b/common/cmd_scsi.c
> @@ -368,7 +368,7 @@ static ulong scsi_read(int device, lbaint_t blknr, lbaint_t blkcnt,
>  {
>         lbaint_t start, blks;
>         uintptr_t buf_addr;
> -       unsigned short smallblks;
> +       unsigned short smallblks = 0;
>         ccb* pccb=(ccb *)&tempccb;
>         device&=0xff;
>         /* Setup  device
> @@ -391,7 +391,7 @@ static ulong scsi_read(int device, lbaint_t blknr, lbaint_t blkcnt,
>                         scsi_setup_read16(pccb, start, blocks);
>                         start += blocks;
>                         blks -= blocks;
> -               } else
> +               } else
>  #endif
>                 if (blks > SCSI_MAX_READ_BLK) {
>                         pccb->datalen=scsi_dev_desc[device].blksz * SCSI_MAX_READ_BLK;
> --
> 1.8.4
>

Regards,
Bin


More information about the U-Boot mailing list