On 2013-08-20 10:00, Dan Carpenter wrote:
"devpriv" is non-NULL at this point. We dereference it earlier in the function and the inconsistent checking upsets static checkers. We don't need to check "devpriv->sprivs" because kfree() accepts NULL pointers. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> diff --git a/drivers/staging/comedi/drivers/pcmuio.c b/drivers/staging/comedi/drivers/pcmuio.c index f942455..a779062 100644 --- a/drivers/staging/comedi/drivers/pcmuio.c +++ b/drivers/staging/comedi/drivers/pcmuio.c @@ -676,8 +676,7 @@ static void pcmuio_detach(struct comedi_device *dev) if (devpriv->asics[i].irq) free_irq(devpriv->asics[i].irq, dev); } - if (devpriv && devpriv->sprivs) - kfree(devpriv->sprivs); + kfree(devpriv->sprivs); comedi_legacy_detach(dev); }
Actually, the function is buggy anyway as devpriv might be NULL (pcmuio_detach() is called even if pcmuio_attach() returns an error).
So let's drop this patch and I'll post a patch to fix the bug. -- -=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@xxxxxxxxx> )=- -=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=- _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel