aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2008-02-04 23:49:57 -0500
committerRusty Russell <rusty@rustcorp.com.au>2008-02-04 07:49:58 -0500
commit18445c4d501b9ab4336f66ef46b092661ddaf336 (patch)
tree9d23185f207d912942890cf047d1d3200806b401 /drivers/block
parenta586d4f6016f7139d8c26df0e6927131168d3b5b (diff)
virtio: explicit enable_cb/disable_cb rather than callback return.
It seems that virtio_net wants to disable callbacks (interrupts) before calling netif_rx_schedule(), so we can't use the return value to do so. Rename "restart" to "cb_enable" and introduce "cb_disable" hook: callback now returns void, rather than a boolean. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/virtio_blk.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 1c63d5b64c20..54a8017ad487 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block/virtio_blk.c
@@ -36,7 +36,7 @@ struct virtblk_req
36 struct virtio_blk_inhdr in_hdr; 36 struct virtio_blk_inhdr in_hdr;
37}; 37};
38 38
39static bool blk_done(struct virtqueue *vq) 39static void blk_done(struct virtqueue *vq)
40{ 40{
41 struct virtio_blk *vblk = vq->vdev->priv; 41 struct virtio_blk *vblk = vq->vdev->priv;
42 struct virtblk_req *vbr; 42 struct virtblk_req *vbr;
@@ -65,7 +65,6 @@ static bool blk_done(struct virtqueue *vq)
65 /* In case queue is stopped waiting for more buffers. */ 65 /* In case queue is stopped waiting for more buffers. */
66 blk_start_queue(vblk->disk->queue); 66 blk_start_queue(vblk->disk->queue);
67 spin_unlock_irqrestore(&vblk->lock, flags); 67 spin_unlock_irqrestore(&vblk->lock, flags);
68 return true;
69} 68}
70 69
71static bool do_req(struct request_queue *q, struct virtio_blk *vblk, 70static bool do_req(struct request_queue *q, struct virtio_blk *vblk,