Message ID | 1346286292-21773-1-git-send-email-fernando.lugo@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Fernando, On Thu, Aug 30, 2012 at 3:24 AM, Fernando Guzman Lugo <fernando.lugo@ti.com> wrote: > dma_alloc/free_coherent APIs requires the platform specific remoteproc > device as the device parameter. We are passing vdev->dev.parent to the > dma_free_coherent function which is the generic rproc device and it is > wrong, it has to be vdev->dev.parent->parent instead, same as when we > call dma_alloc_coherent function. > > Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com> Thanks, applied to rpmsg-fixes. Ohad.
diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c index 590cfaf..1859f71 100644 --- a/drivers/rpmsg/virtio_rpmsg_bus.c +++ b/drivers/rpmsg/virtio_rpmsg_bus.c @@ -1008,8 +1008,8 @@ static int rpmsg_probe(struct virtio_device *vdev) return 0; free_coherent: - dma_free_coherent(vdev->dev.parent, RPMSG_TOTAL_BUF_SPACE, bufs_va, - vrp->bufs_dma); + dma_free_coherent(vdev->dev.parent->parent, RPMSG_TOTAL_BUF_SPACE, + bufs_va, vrp->bufs_dma); vqs_del: vdev->config->del_vqs(vrp->vdev); free_vrp: @@ -1043,7 +1043,7 @@ static void __devexit rpmsg_remove(struct virtio_device *vdev) vdev->config->del_vqs(vrp->vdev); - dma_free_coherent(vdev->dev.parent, RPMSG_TOTAL_BUF_SPACE, + dma_free_coherent(vdev->dev.parent->parent, RPMSG_TOTAL_BUF_SPACE, vrp->rbufs, vrp->bufs_dma); kfree(vrp);
dma_alloc/free_coherent APIs requires the platform specific remoteproc device as the device parameter. We are passing vdev->dev.parent to the dma_free_coherent function which is the generic rproc device and it is wrong, it has to be vdev->dev.parent->parent instead, same as when we call dma_alloc_coherent function. Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com> --- drivers/rpmsg/virtio_rpmsg_bus.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)