Allocate the zoran structure with devm_ functions permit to simplify code. Signed-off-by: Corentin Labbe <clabbe@xxxxxxxxxxxx> --- drivers/staging/media/zoran/zoran_card.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index 706b040f5baa..fe0c5a7c967c 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -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; } -- 2.26.2