[media] mantis_dvb: fix some error codes in mantis_dvb_init()
Commit Message
We should be returning negative error codes here or it leads to a crash.
This also silences a static checker warning.
drivers/media/pci/mantis/mantis_cards.c:250 mantis_pci_probe()
warn: 'mantis->dmxdev.dvbdev->fops' double freed
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Comments
Am 27.01.2017 09:06, schrieb Dan Carpenter:
> We should be returning negative error codes here or it leads to a crash.
> This also silences a static checker warning.
>
> drivers/media/pci/mantis/mantis_cards.c:250 mantis_pci_probe()
> warn: 'mantis->dmxdev.dvbdev->fops' double freed
>
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>
> diff --git a/drivers/media/pci/mantis/mantis_dvb.c b/drivers/media/pci/mantis/mantis_dvb.c
> index 5a71e1791cf5..0db4de3a2285 100644
> --- a/drivers/media/pci/mantis/mantis_dvb.c
> +++ b/drivers/media/pci/mantis/mantis_dvb.c
> @@ -226,11 +226,12 @@ int mantis_dvb_init(struct mantis_pci *mantis)
> goto err5;
> } else {
> if (mantis->fe == NULL) {
> + result = -ENOMEM;
> dprintk(MANTIS_ERROR, 1, "FE <NULL>");
> goto err5;
> }
> -
> - if (dvb_register_frontend(&mantis->dvb_adapter, mantis->fe)) {
> + result = dvb_register_frontend(&mantis->dvb_adapter, mantis->fe);
> + if (result) {
> dprintk(MANTIS_ERROR, 1, "ERROR: Frontend registration failed");
>
> if (mantis->fe->ops.release)
hi,
just one remark:
the indent level is deep.
using if ( !mantis->hwconfig) return 0;
and killing the "else" would help with readability.
just my 2 cents
re,
wh
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
You're, of course, correct that this code could be cleaned up...
regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
@@ -226,11 +226,12 @@ int mantis_dvb_init(struct mantis_pci *mantis)
goto err5;
} else {
if (mantis->fe == NULL) {
+ result = -ENOMEM;
dprintk(MANTIS_ERROR, 1, "FE <NULL>");
goto err5;
}
-
- if (dvb_register_frontend(&mantis->dvb_adapter, mantis->fe)) {
+ result = dvb_register_frontend(&mantis->dvb_adapter, mantis->fe);
+ if (result) {
dprintk(MANTIS_ERROR, 1, "ERROR: Frontend registration failed");
if (mantis->fe->ops.release)