diff options
Diffstat (limited to 'drivers/virtio')
-rw-r--r-- | drivers/virtio/virtio_pci.c | 7 | ||||
-rw-r--r-- | drivers/virtio/virtio_ring.c | 3 |
2 files changed, 4 insertions, 6 deletions
diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c index 59a8f73dec73..c0df924766a7 100644 --- a/drivers/virtio/virtio_pci.c +++ b/drivers/virtio/virtio_pci.c | |||
@@ -37,7 +37,7 @@ struct virtio_pci_device | |||
37 | struct pci_dev *pci_dev; | 37 | struct pci_dev *pci_dev; |
38 | 38 | ||
39 | /* the IO mapping for the PCI config space */ | 39 | /* the IO mapping for the PCI config space */ |
40 | void *ioaddr; | 40 | void __iomem *ioaddr; |
41 | 41 | ||
42 | /* a list of queues so we can dispatch IRQs */ | 42 | /* a list of queues so we can dispatch IRQs */ |
43 | spinlock_t lock; | 43 | spinlock_t lock; |
@@ -111,7 +111,7 @@ static void vp_get(struct virtio_device *vdev, unsigned offset, | |||
111 | void *buf, unsigned len) | 111 | void *buf, unsigned len) |
112 | { | 112 | { |
113 | struct virtio_pci_device *vp_dev = to_vp_device(vdev); | 113 | struct virtio_pci_device *vp_dev = to_vp_device(vdev); |
114 | void *ioaddr = vp_dev->ioaddr + VIRTIO_PCI_CONFIG + offset; | 114 | void __iomem *ioaddr = vp_dev->ioaddr + VIRTIO_PCI_CONFIG + offset; |
115 | u8 *ptr = buf; | 115 | u8 *ptr = buf; |
116 | int i; | 116 | int i; |
117 | 117 | ||
@@ -125,7 +125,7 @@ static void vp_set(struct virtio_device *vdev, unsigned offset, | |||
125 | const void *buf, unsigned len) | 125 | const void *buf, unsigned len) |
126 | { | 126 | { |
127 | struct virtio_pci_device *vp_dev = to_vp_device(vdev); | 127 | struct virtio_pci_device *vp_dev = to_vp_device(vdev); |
128 | void *ioaddr = vp_dev->ioaddr + VIRTIO_PCI_CONFIG + offset; | 128 | void __iomem *ioaddr = vp_dev->ioaddr + VIRTIO_PCI_CONFIG + offset; |
129 | const u8 *ptr = buf; | 129 | const u8 *ptr = buf; |
130 | int i; | 130 | int i; |
131 | 131 | ||
@@ -388,6 +388,7 @@ static void __devexit virtio_pci_remove(struct pci_dev *pci_dev) | |||
388 | { | 388 | { |
389 | struct virtio_pci_device *vp_dev = pci_get_drvdata(pci_dev); | 389 | struct virtio_pci_device *vp_dev = pci_get_drvdata(pci_dev); |
390 | 390 | ||
391 | unregister_virtio_device(&vp_dev->vdev); | ||
391 | free_irq(pci_dev->irq, vp_dev); | 392 | free_irq(pci_dev->irq, vp_dev); |
392 | pci_set_drvdata(pci_dev, NULL); | 393 | pci_set_drvdata(pci_dev, NULL); |
393 | pci_iounmap(pci_dev, vp_dev->ioaddr); | 394 | pci_iounmap(pci_dev, vp_dev->ioaddr); |
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c index aa714028641e..c2fa5c630813 100644 --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c | |||
@@ -214,10 +214,7 @@ static void vring_disable_cb(struct virtqueue *_vq) | |||
214 | { | 214 | { |
215 | struct vring_virtqueue *vq = to_vvq(_vq); | 215 | struct vring_virtqueue *vq = to_vvq(_vq); |
216 | 216 | ||
217 | START_USE(vq); | ||
218 | BUG_ON(vq->vring.avail->flags & VRING_AVAIL_F_NO_INTERRUPT); | ||
219 | vq->vring.avail->flags |= VRING_AVAIL_F_NO_INTERRUPT; | 217 | vq->vring.avail->flags |= VRING_AVAIL_F_NO_INTERRUPT; |
220 | END_USE(vq); | ||
221 | } | 218 | } |
222 | 219 | ||
223 | static bool vring_enable_cb(struct virtqueue *_vq) | 220 | static bool vring_enable_cb(struct virtqueue *_vq) |