summaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorStephen Warren2019-01-03 18:23:23 +0100
committerDavid S. Miller2019-01-07 14:14:17 +0100
commitf65e192af35058e5c82da9e90871b472d24912bc (patch)
treeb6caf85193c35b0a88a5a0fa8aa180d956e2eeea /drivers/pci
parentipv6: Take rcu_read_lock in __inet6_bind for mapped addresses (diff)
downloadkernel-qcow2-linux-f65e192af35058e5c82da9e90871b472d24912bc.tar.gz
kernel-qcow2-linux-f65e192af35058e5c82da9e90871b472d24912bc.tar.xz
kernel-qcow2-linux-f65e192af35058e5c82da9e90871b472d24912bc.zip
net/mlx4: Get rid of page operation after dma_alloc_coherent
This patch solves a crash at the time of mlx4 driver unload or system shutdown. The crash occurs because dma_alloc_coherent() returns one value in mlx4_alloc_icm_coherent(), but a different value is passed to dma_free_coherent() in mlx4_free_icm_coherent(). In turn this is because when allocated, that pointer is passed to sg_set_buf() to record it, then when freed it is re-calculated by calling lowmem_page_address(sg_page()) which returns a different value. Solve this by recording the value that dma_alloc_coherent() returns, and passing this to dma_free_coherent(). This patch is roughly equivalent to commit 378efe798ecf ("RDMA/hns: Get rid of page operation after dma_alloc_coherent"). Based-on-code-from: Christoph Hellwig <hch@lst.de> Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Tariq Toukan <tariqt@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/pci')
0 files changed, 0 insertions, 0 deletions