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

Commit d673ae18 authored by Zhang Changzhong's avatar Zhang Changzhong Committed by Greg Kroah-Hartman
Browse files

net/sonic: use dma_mapping_error() for error check



[ Upstream commit 4107b8746d93ace135b8c4da4f19bbae81db785f ]

The DMA address returned by dma_map_single() should be checked with
dma_mapping_error(). Fix it accordingly.

Fixes: efcce839 ("[PATCH] macsonic/jazzsonic network drivers update")
Signed-off-by: default avatarZhang Changzhong <zhangchangzhong@huawei.com>
Tested-by: default avatarStan Johnson <userm57@yahoo.com>
Signed-off-by: default avatarFinn Thain <fthain@linux-m68k.org>
Reviewed-by: default avatarLeon Romanovsky <leonro@nvidia.com>
Link: https://lore.kernel.org/r/6645a4b5c1e364312103f48b7b36783b94e197a2.1679370343.git.fthain@linux-m68k.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent b72f453e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -256,7 +256,7 @@ static int sonic_send_packet(struct sk_buff *skb, struct net_device *dev)
	 */

	laddr = dma_map_single(lp->device, skb->data, length, DMA_TO_DEVICE);
	if (!laddr) {
	if (dma_mapping_error(lp->device, laddr)) {
		pr_err_ratelimited("%s: failed to map tx DMA buffer.\n", dev->name);
		dev_kfree_skb_any(skb);
		return NETDEV_TX_OK;
@@ -474,7 +474,7 @@ static bool sonic_alloc_rb(struct net_device *dev, struct sonic_local *lp,

	*new_addr = dma_map_single(lp->device, skb_put(*new_skb, SONIC_RBSIZE),
				   SONIC_RBSIZE, DMA_FROM_DEVICE);
	if (!*new_addr) {
	if (dma_mapping_error(lp->device, *new_addr)) {
		dev_kfree_skb(*new_skb);
		*new_skb = NULL;
		return false;