summaryrefslogtreecommitdiffstats
path: root/samples
diff options
context:
space:
mode:
authorShang XiaoJing <shangxiaojing@huawei.com>2022-12-08 09:33:41 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-12-31 13:32:42 +0100
commit5cba61bcd2f75f074a97130b2a54e7990c32c0ca (patch)
tree6a710c8a2341788ea0af3e0cdc98a346fc960a0d /samples
parentf9ed133381eba883c5e0059063d5b3ca7cac6d41 (diff)
downloadlinux-stable-5cba61bcd2f75f074a97130b2a54e7990c32c0ca.tar.gz
linux-stable-5cba61bcd2f75f074a97130b2a54e7990c32c0ca.tar.bz2
linux-stable-5cba61bcd2f75f074a97130b2a54e7990c32c0ca.zip
samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe()
[ Upstream commit d1f0f50fbbbbca1e3e8157e51934613bf88f6d44 ] Add missing pci_disable_device() in fail path of mdpy_fb_probe(). Besides, fix missing release functions in mdpy_fb_remove(). Fixes: cacade1946a4 ("sample: vfio mdev display - guest driver") Signed-off-by: Shang XiaoJing <shangxiaojing@huawei.com> Link: https://lore.kernel.org/r/20221208013341.3999-1-shangxiaojing@huawei.com Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'samples')
-rw-r--r--samples/vfio-mdev/mdpy-fb.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/samples/vfio-mdev/mdpy-fb.c b/samples/vfio-mdev/mdpy-fb.c
index 9ec93d90e8a5..4eb7aa11cfbb 100644
--- a/samples/vfio-mdev/mdpy-fb.c
+++ b/samples/vfio-mdev/mdpy-fb.c
@@ -109,7 +109,7 @@ static int mdpy_fb_probe(struct pci_dev *pdev,
ret = pci_request_regions(pdev, "mdpy-fb");
if (ret < 0)
- return ret;
+ goto err_disable_dev;
pci_read_config_dword(pdev, MDPY_FORMAT_OFFSET, &format);
pci_read_config_dword(pdev, MDPY_WIDTH_OFFSET, &width);
@@ -191,6 +191,9 @@ err_release_fb:
err_release_regions:
pci_release_regions(pdev);
+err_disable_dev:
+ pci_disable_device(pdev);
+
return ret;
}
@@ -199,7 +202,10 @@ static void mdpy_fb_remove(struct pci_dev *pdev)
struct fb_info *info = pci_get_drvdata(pdev);
unregister_framebuffer(info);
+ iounmap(info->screen_base);
framebuffer_release(info);
+ pci_release_regions(pdev);
+ pci_disable_device(pdev);
}
static struct pci_device_id mdpy_fb_pci_table[] = {