Explorar o código

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>
Anthony Liguori %!s(int64=17) %!d(string=hai) anos
pai
achega
bd6c26900b
Modificáronse 1 ficheiros con 1 adicións e 0 borrados
  1. 1 0
      drivers/virtio/virtio_pci.c

+ 1 - 0
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);
 	struct virtio_pci_device *vp_dev = pci_get_drvdata(pci_dev);
 
 
+	unregister_virtio_device(&vp_dev->vdev);
 	free_irq(pci_dev->irq, vp_dev);
 	free_irq(pci_dev->irq, vp_dev);
 	pci_set_drvdata(pci_dev, NULL);
 	pci_set_drvdata(pci_dev, NULL);
 	pci_iounmap(pci_dev, vp_dev->ioaddr);
 	pci_iounmap(pci_dev, vp_dev->ioaddr);