diff options
author | Timur Tabi <timur@codeaurora.org> | 2017-09-22 15:32:44 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-10-12 11:51:22 +0200 |
commit | 852bdea5e379df029d19d7f9ae8b6d337bf0fc9d (patch) | |
tree | 321902b317083024fb6c087681e088087b8b7e4e /drivers | |
parent | 5600c7586ad9281dd2bf78cf46f8ad4353c75c9e (diff) | |
download | linux-stable-852bdea5e379df029d19d7f9ae8b6d337bf0fc9d.tar.gz linux-stable-852bdea5e379df029d19d7f9ae8b6d337bf0fc9d.tar.bz2 linux-stable-852bdea5e379df029d19d7f9ae8b6d337bf0fc9d.zip |
net: qcom/emac: specify the correct size when mapping a DMA buffer
[ Upstream commit a93ad944f4ff9a797abff17c73fc4b1e4a1d9141 ]
When mapping the RX DMA buffers, the driver was accidentally specifying
zero for the buffer length. Under normal circumstances, SWIOTLB does not
need to allocate a bounce buffer, so the address is just mapped without
checking the size field. This is why the error was not detected earlier.
Fixes: b9b17debc69d ("net: emac: emac gigabit ethernet controller driver")
Cc: stable@vger.kernel.org
Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/qualcomm/emac/emac-mac.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/qualcomm/emac/emac-mac.c b/drivers/net/ethernet/qualcomm/emac/emac-mac.c index 0b4deb31e742..f683bfbd9986 100644 --- a/drivers/net/ethernet/qualcomm/emac/emac-mac.c +++ b/drivers/net/ethernet/qualcomm/emac/emac-mac.c @@ -932,7 +932,8 @@ static void emac_mac_rx_descs_refill(struct emac_adapter *adpt, curr_rxbuf->dma_addr = dma_map_single(adpt->netdev->dev.parent, skb->data, - curr_rxbuf->length, DMA_FROM_DEVICE); + adpt->rxbuf_size, DMA_FROM_DEVICE); + ret = dma_mapping_error(adpt->netdev->dev.parent, curr_rxbuf->dma_addr); if (ret) { |