Re: [PATCH v2 09/15] NULL noise: drivers/scsi/FlashPoint.c

From: Hannes Eder
Date: Thu Mar 05 2009 - 15:15:35 EST


On Thu, Mar 5, 2009 at 9:05 PM, James Bottomley
<James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote:
> On Thu, 2009-03-05 at 20:16 +0100, Hannes Eder wrote:
>> Fix this sparse warnings:
>>   drivers/scsi/FlashPoint.c:906:9: warning: Using plain integer as NULL pointer
>>   drivers/scsi/FlashPoint.c:907:53: warning: Using plain integer as NULL pointer
>>   drivers/scsi/FlashPoint.c:922:1: warning: Using plain integer as NULL pointer
>>
>> Signed-off-by: Hannes Eder <hannes@xxxxxxxxxxxxxx>
>> ---
>> v2: fix checkpatch.pl issue.
>> v2.1: other subject, as suggested by Al Viro
>>
>>  drivers/scsi/FlashPoint.c |    7 +++----
>>  1 files changed, 3 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/scsi/FlashPoint.c b/drivers/scsi/FlashPoint.c
>> index b898d38..9eb2e86 100644
>> --- a/drivers/scsi/FlashPoint.c
>> +++ b/drivers/scsi/FlashPoint.c
>> @@ -903,8 +903,8 @@ static void FPT_autoCmdCmplt(unsigned long p_port, unsigned char p_card);
>>  static void FPT_autoLoadDefaultMap(unsigned long p_port);
>>
>>  static struct sccb_mgr_tar_info FPT_sccbMgrTbl[MAX_CARDS][MAX_SCSI_TAR] =
>> L-    { {{0}} };
>> -static struct sccb_card FPT_BL_Card[MAX_CARDS] = { {0} };
>> +    { { {NULL} } };
>> +static struct sccb_card FPT_BL_Card[MAX_CARDS] = { {NULL} };
>>  static SCCBSCAM_INFO FPT_scamInfo[MAX_SCSI_TAR] = { {{0}} };
>>  static struct nvram_info FPT_nvRamInfo[MAX_MB_CARDS] = { {0} };
>
> This doesn't look right:  {0} as a structure initialiser is a C
> convention for zero fill this structure; sparse should recognise this.
> Of course, since these structures are static, they should be in BSS
> anyway ...

So a proper fix is just not to initialize the variables.

... and report this issue to the sparse mailing list.

>
>> @@ -918,8 +918,7 @@ static unsigned char FPT_scamHAString[] =
>>
>>  static unsigned short FPT_default_intena = 0;
>>
>> -static void (*FPT_s_PhaseTbl[8]) (unsigned long, unsigned char) = {
>> -0};
>> +static void (*FPT_s_PhaseTbl[8]) (unsigned long, unsigned char) = {NULL};
>>
>>  /*---------------------------------------------------------------------
>>   *

Same her, right?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/