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 fe4d34e388b4..62e63804ae14 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -1017,7 +1017,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) @@ -1101,7 +1100,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; @@ -1287,7 +1286,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