@@ -1024,7 +1024,6 @@ static void zoran_remove(struct pci_dev *pdev)
exit_free:
v4l2_ctrl_handler_free(&zr->hdl);
v4l2_device_unregister(&zr->v4l2_dev);
- kfree(zr);
}
void zoran_vdev_release(struct video_device *vdev)
@@ -1109,7 +1108,7 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
return -ENOENT;
}
- zr = kzalloc(sizeof(*zr), GFP_KERNEL);
+ zr = devm_kzalloc(&pdev->dev, sizeof(*zr), GFP_KERNEL);
if (!zr)
return -ENOMEM;
@@ -1298,7 +1297,6 @@ static int zoran_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
v4l2_ctrl_handler_free(&zr->hdl);
v4l2_device_unregister(&zr->v4l2_dev);
zr_free_mem:
- kfree(zr);
return -ENODEV;
}
Allocate the zoran structure with devm_ functions permit to simplify code. Signed-off-by: Corentin Labbe <clabbe@baylibre.com> --- drivers/staging/media/zoran/zoran_card.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)