V4L/DVB (7036): radio: Use video_device_release rather than kfree
The file drivers/media/video/videodev.c defines both video_device_alloc and video_device_release. These are essentially just kzmalloc and kfree, respectively, but it seems better to use video_device_release, as done in the other media files, rather than kfree, in case the implementation some day changes. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ type T,T1,T2; identifier E; statement S; expression x1,x2,x3; int ret; @@ T E; ... * E = video_device_alloc(...); if (E == NULL) S ... when != video_device_release(...,(T1)E,...) when != if (E != NULL) { ... video_device_release(...,(T1)E,...); ...} when != x1 = (T1)E when != E = x3; when any if (...) { ... when != video_device_release(...,(T2)E,...) when != if (E != NULL) { ... video_device_release(...,(T2)E,...); ...} when != x2 = (T2)E ( * return; | * return ret; ) } // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
a2a9b1eceb
commit
f37fdf3ff7
|
@ -423,7 +423,7 @@ static int __devinit maestro_probe(struct pci_dev *pdev,
|
||||||
errunr:
|
errunr:
|
||||||
video_unregister_device(maestro_radio_inst);
|
video_unregister_device(maestro_radio_inst);
|
||||||
errfr1:
|
errfr1:
|
||||||
kfree(maestro_radio_inst);
|
video_device_release(maestro_radio_inst);
|
||||||
errfr:
|
errfr:
|
||||||
kfree(radio_unit);
|
kfree(radio_unit);
|
||||||
err:
|
err:
|
||||||
|
|
Loading…
Reference in a new issue