Re: [PATCH 1/2] staging: dgnc: remove redundant NULL check for brd
From: DaeSeok Youn
Date: Thu May 26 2016 - 00:56:35 EST
2016-05-26 6:48 GMT+09:00 Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx>:
> On 20/05/16 10:51, Daeseok Youn wrote:
>> the "brd" value cannot be NULL in dgnc_finalize_board_init().
>> Because "brd" as a parameter of this function was already
>> checked for NULL.
>>
>> Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx>
>> ---
>> drivers/staging/dgnc/dgnc_driver.c | 3 ---
>> 1 file changed, 3 deletions(-)
>>
>> diff --git a/drivers/staging/dgnc/dgnc_driver.c b/drivers/staging/dgnc/dgnc_driver.c
>> index af2e835..22257d2 100644
>> --- a/drivers/staging/dgnc/dgnc_driver.c
>> +++ b/drivers/staging/dgnc/dgnc_driver.c
>> @@ -579,9 +579,6 @@ static int dgnc_finalize_board_init(struct dgnc_board *brd)
>> {
>> int rc = 0;
>>
>> - if (!brd || brd->magic != DGNC_BOARD_MAGIC)
>> - return -ENODEV;
>> -
>> if (brd->irq) {
>> rc = request_irq(brd->irq, brd->bd_ops->intr,
>> IRQF_SHARED, "DGNC", brd);
>>
>
> This is partially correct, the check for brd being NULL is in line 371.
Hi Luis,
Yes, right. but also brd was assigned the value DGNC_BOARD_MAGIC in line 384.
brd->magic = DGNC_BOARD_MAGIC;
and also dgnc_finalize_board_init() as a static function is only
called in dgnc_found_board(), right?
>
> But there is a second check for brd->magic != DGNC_BOARD_MAGIC. Do you want
> to keep that one?
So.. I think it doesn't need to check about DGNC_BOARD_MAGIC.
>
> Also, how did you find this patch. It is useful to mention this in the commit
> message if it was through some static analysis tool. For people using these tools
> in the future.
There are some static analysis tool for checking linux kernel code.
But I didn't use
those tools for this patch. sometimes, I usually run "smatch" tool for
checking linux kernel
code.
thanks.
regards,
Daeseok.
>
> Thanks for the patch :)
> Luis