Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c59a3da1 authored by Roland Dreier's avatar Roland Dreier
Browse files

IB: Fix ib_dma_alloc_coherent() wrapper



The ib_dma_alloc_coherent() wrapper uses a u64* for the dma_handle
parameter, unlike dma_alloc_coherent, which uses dma_addr_t*.  This
means that we need a temporary variable to handle the case when
ib_dma_alloc_coherent() just falls through directly to
dma_alloc_coherent() on architectures where sizeof u64 != sizeof
dma_addr_t.

Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent d1998ef3
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -1639,7 +1639,14 @@ static inline void *ib_dma_alloc_coherent(struct ib_device *dev,
{
	if (dev->dma_ops)
		return dev->dma_ops->alloc_coherent(dev, size, dma_handle, flag);
	return dma_alloc_coherent(dev->dma_device, size, dma_handle, flag);
	else {
		dma_addr_t handle;
		void *ret;

		ret = dma_alloc_coherent(dev->dma_device, size, &handle, flag);
		*dma_handle = handle;
		return ret;
	}
}

/**