diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2008-02-04 23:49:57 -0500 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2008-02-04 07:49:58 -0500 |
commit | 18445c4d501b9ab4336f66ef46b092661ddaf336 (patch) | |
tree | 9d23185f207d912942890cf047d1d3200806b401 /drivers/block | |
parent | a586d4f6016f7139d8c26df0e6927131168d3b5b (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.c | 3 |
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 | ||
39 | static bool blk_done(struct virtqueue *vq) | 39 | static 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 | ||
71 | static bool do_req(struct request_queue *q, struct virtio_blk *vblk, | 70 | static bool do_req(struct request_queue *q, struct virtio_blk *vblk, |