summaryrefslogtreecommitdiff
path: root/drivers/media/pci
diff options
context:
space:
mode:
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>2022-06-20 08:31:53 +0300
committerMauro Carvalho Chehab <mchehab@kernel.org>2022-06-27 11:16:05 +0300
commit978bbc392c51e0ece959978daa0ad7fb4dd7f932 (patch)
tree29f798301f15b4d9548626cd6e3c4046ac61bbf4 /drivers/media/pci
parente5833b56f75dbf70b8c446fc3b0b2c3814d50e67 (diff)
downloadlinux-978bbc392c51e0ece959978daa0ad7fb4dd7f932.tar.xz
media: tw686x: Fix an error handling path in tw686x_probe()
The commit in Fixes: is incomplete. It has moved some code in the probe but not all error handling paths have been updated. Now, if request_irq() fails, we must release some resources. Fixes: c8946454ed96 ("media: tw686x: Register the irq at the end of probe") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'drivers/media/pci')
-rw-r--r--drivers/media/pci/tw686x/tw686x-core.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/pci/tw686x/tw686x-core.c b/drivers/media/pci/tw686x/tw686x-core.c
index 384d38754a4b..c53099c958ca 100644
--- a/drivers/media/pci/tw686x/tw686x-core.c
+++ b/drivers/media/pci/tw686x/tw686x-core.c
@@ -337,12 +337,15 @@ static int tw686x_probe(struct pci_dev *pci_dev,
dev->name, dev);
if (err < 0) {
dev_err(&pci_dev->dev, "unable to request interrupt\n");
- goto iounmap;
+ goto tw686x_free;
}
pci_set_drvdata(pci_dev, dev);
return 0;
+tw686x_free:
+ tw686x_video_free(dev);
+ tw686x_audio_free(dev);
iounmap:
pci_iounmap(pci_dev, dev->mmio);
free_region: