diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-02 17:14:04 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-02 17:14:04 -0400 |
| commit | 736a2dd2571ac56b11ed95a7814d838d5311be04 (patch) | |
| tree | de10d107025970c6e51d5b6faeba799ed4b9caae /drivers/rpmsg | |
| parent | 0b2e3b6bb4a415379f16e38fc92db42379be47a1 (diff) | |
| parent | 01d779a14ef800b74684d9692add4944df052461 (diff) | |
Merge tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
Pull virtio & lguest updates from Rusty Russell:
"Lots of virtio work which wasn't quite ready for last merge window.
Plus I dived into lguest again, reworking the pagetable code so we can
move the switcher page: our fixmaps sometimes take more than 2MB now..."
Ugh. Annoying conflicts with the tcm_vhost -> vhost_scsi rename.
Hopefully correctly resolved.
* tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (57 commits)
caif_virtio: Remove bouncing email addresses
lguest: improve code readability in lg_cpu_start.
virtio-net: fill only rx queues which are being used
lguest: map Switcher below fixmap.
lguest: cache last cpu we ran on.
lguest: map Switcher text whenever we allocate a new pagetable.
lguest: don't share Switcher PTE pages between guests.
lguest: expost switcher_pages array (as lg_switcher_pages).
lguest: extract shadow PTE walking / allocating.
lguest: make check_gpte et. al return bool.
lguest: assume Switcher text is a single page.
lguest: rename switcher_page to switcher_pages.
lguest: remove RESERVE_MEM constant.
lguest: check vaddr not pgd for Switcher protection.
lguest: prepare to make SWITCHER_ADDR a variable.
virtio: console: replace EMFILE with EBUSY for already-open port
virtio-scsi: reset virtqueue affinity when doing cpu hotplug
virtio-scsi: introduce multiqueue support
virtio-scsi: push vq lock/unlock into virtscsi_vq_done
virtio-scsi: pass struct virtio_scsi to virtqueue completion function
...
Diffstat (limited to 'drivers/rpmsg')
| -rw-r--r-- | drivers/rpmsg/virtio_rpmsg_bus.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c index 7861f1119b7d..56fceafec9ec 100644 --- a/drivers/rpmsg/virtio_rpmsg_bus.c +++ b/drivers/rpmsg/virtio_rpmsg_bus.c | |||
| @@ -757,14 +757,14 @@ int rpmsg_send_offchannel_raw(struct rpmsg_channel *rpdev, u32 src, u32 dst, | |||
| 757 | mutex_lock(&vrp->tx_lock); | 757 | mutex_lock(&vrp->tx_lock); |
| 758 | 758 | ||
| 759 | /* add message to the remote processor's virtqueue */ | 759 | /* add message to the remote processor's virtqueue */ |
| 760 | err = virtqueue_add_buf(vrp->svq, &sg, 1, 0, msg, GFP_KERNEL); | 760 | err = virtqueue_add_outbuf(vrp->svq, &sg, 1, msg, GFP_KERNEL); |
| 761 | if (err) { | 761 | if (err) { |
| 762 | /* | 762 | /* |
| 763 | * need to reclaim the buffer here, otherwise it's lost | 763 | * need to reclaim the buffer here, otherwise it's lost |
| 764 | * (memory won't leak, but rpmsg won't use it again for TX). | 764 | * (memory won't leak, but rpmsg won't use it again for TX). |
| 765 | * this will wait for a buffer management overhaul. | 765 | * this will wait for a buffer management overhaul. |
| 766 | */ | 766 | */ |
| 767 | dev_err(dev, "virtqueue_add_buf failed: %d\n", err); | 767 | dev_err(dev, "virtqueue_add_outbuf failed: %d\n", err); |
| 768 | goto out; | 768 | goto out; |
| 769 | } | 769 | } |
| 770 | 770 | ||
| @@ -839,7 +839,7 @@ static void rpmsg_recv_done(struct virtqueue *rvq) | |||
| 839 | sg_init_one(&sg, msg, RPMSG_BUF_SIZE); | 839 | sg_init_one(&sg, msg, RPMSG_BUF_SIZE); |
| 840 | 840 | ||
| 841 | /* add the buffer back to the remote processor's virtqueue */ | 841 | /* add the buffer back to the remote processor's virtqueue */ |
| 842 | err = virtqueue_add_buf(vrp->rvq, &sg, 0, 1, msg, GFP_KERNEL); | 842 | err = virtqueue_add_inbuf(vrp->rvq, &sg, 1, msg, GFP_KERNEL); |
| 843 | if (err < 0) { | 843 | if (err < 0) { |
| 844 | dev_err(dev, "failed to add a virtqueue buffer: %d\n", err); | 844 | dev_err(dev, "failed to add a virtqueue buffer: %d\n", err); |
| 845 | return; | 845 | return; |
| @@ -972,7 +972,7 @@ static int rpmsg_probe(struct virtio_device *vdev) | |||
| 972 | 972 | ||
| 973 | sg_init_one(&sg, cpu_addr, RPMSG_BUF_SIZE); | 973 | sg_init_one(&sg, cpu_addr, RPMSG_BUF_SIZE); |
| 974 | 974 | ||
| 975 | err = virtqueue_add_buf(vrp->rvq, &sg, 0, 1, cpu_addr, | 975 | err = virtqueue_add_inbuf(vrp->rvq, &sg, 1, cpu_addr, |
| 976 | GFP_KERNEL); | 976 | GFP_KERNEL); |
| 977 | WARN_ON(err); /* sanity check; this can't really happen */ | 977 | WARN_ON(err); /* sanity check; this can't really happen */ |
| 978 | } | 978 | } |
