On Mon, 31 May 2010, Dan Carpenter wrote:

> Smatch complained because "d" is dereferenced first and then checked for
> null later .  The only code path where "d" could be a invalid pointer is
> if this is a cold device in dvb_usb_device_init().  I consulted Antti 
> Palosaari and he explained that anysee is always a warm device.
> 
> I have added a comment and removed the unneeded null check.
> 
> Signed-off-by: Dan Carpenter <erro...@gmail.com>
> 
> diff --git a/drivers/media/dvb/dvb-usb/anysee.c 
> b/drivers/media/dvb/dvb-usb/anysee.c
> index faca1ad..aa5c7d5 100644
> --- a/drivers/media/dvb/dvb-usb/anysee.c
> +++ b/drivers/media/dvb/dvb-usb/anysee.c
> @@ -463,6 +463,11 @@ static int anysee_probe(struct usb_interface *intf,
>       if (intf->num_altsetting < 1)
>               return -ENODEV;
>  
> +     /*
> +      * Anysee is always warm (its USB-bridge, Cypress FX2, uploads
> +      * firmware from eeprom).  If dvb_usb_device_init() succeeds that
> +      * means d is a valid pointer.
> +      */
>       ret = dvb_usb_device_init(intf, &anysee_properties, THIS_MODULE, &d,
>               adapter_nr);
>       if (ret)
> @@ -479,10 +484,7 @@ static int anysee_probe(struct usb_interface *intf,
>       if (ret)
>               return ret;
>  
> -     if (d)
> -             ret = anysee_init(d);
> -
> -     return ret;
> +     return anysee_init(d);

Doesn't seem to be present in linux-next as of today. Mauro, will you 
take it?
Or I can take it if you ack it.

Thanks,

-- 
Jiri Kosina
SUSE Labs, Novell Inc.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to