}
err = virtqueue_add_inbuf(vh->vq, vh->sg,
- MAX_BUF_COUNT, (void *)MAX_BUF_COUNT, GFP_ATOMIC);
+ MAX_BUF_COUNT, (void *)vh->vbuf, GFP_ATOMIC);
/* register for input device */
vh->idev = input_allocate_device();
vqidx = 0;
}
}
- err = virtqueue_add_inbuf(vq, vkbd->sg, KBD_BUF_SIZE, (void *)KBD_BUF_SIZE, GFP_ATOMIC);
+ err = virtqueue_add_inbuf(vq, vkbd->sg, KBD_BUF_SIZE, (void *)vkbd->kbdevt, GFP_ATOMIC);
if (err < 0) {
VKBD_LOG(KERN_ERR, "failed to add buffer to virtqueue.\n");
return;
sizeof(struct EmulKbdEvent));
}
- ret = virtqueue_add_inbuf(vkbd->vq, vkbd->sg, KBD_BUF_SIZE, (void *)KBD_BUF_SIZE, GFP_ATOMIC);
+ ret = virtqueue_add_inbuf(vkbd->vq, vkbd->sg, KBD_BUF_SIZE, (void *)vkbd->kbdevt, GFP_ATOMIC);
if (ret < 0) {
VKBD_LOG(KERN_ERR, "failed to add buffer to virtqueue.\n");
kfree(vkbd);
err = virtqueue_add_inbuf(vq,
vrtr->sg,
ROTARY_BUF_SIZE,
- (void *)ROTARY_BUF_SIZE,
+ (void *)vrtr->event,
GFP_ATOMIC);
if (err < 0) {
VR_LOG(KERN_ERR, "failed to add buffer to virtqueue\n");
ret = virtqueue_add_inbuf(vrtr->vq,
vrtr->sg,
ROTARY_BUF_SIZE,
- (void *)ROTARY_BUF_SIZE,
+ (void *)vrtr->event,
GFP_ATOMIC);
/* register for input device */