From: Anthony Liguori <aliguori@us.ibm.com>
Date: Thu, 20 Mar 2008 01:35:04 +0000 (-0500)
Subject: virtio_pci: unregister virtio device at device remove
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=bd6c26900bae19bd51abedfc9a8a281afbba3a06;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

virtio_pci: unregister virtio device at device remove

Make sure to call unregister_virtio_device() when a virtio device is removed.
Otherwise, virtio_pci.ko cannot be rmmod'd.

This was spotted by Marcelo Tosatti.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---

diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c
index 59a8f73dec73..6c8ecde6aad1 100644
--- a/drivers/virtio/virtio_pci.c
+++ b/drivers/virtio/virtio_pci.c
@@ -388,6 +388,7 @@ static void __devexit virtio_pci_remove(struct pci_dev *pci_dev)
 {
 	struct virtio_pci_device *vp_dev = pci_get_drvdata(pci_dev);
 
+	unregister_virtio_device(&vp_dev->vdev);
 	free_irq(pci_dev->irq, vp_dev);
 	pci_set_drvdata(pci_dev, NULL);
 	pci_iounmap(pci_dev, vp_dev->ioaddr);