From: Florian Fainelli Date: Wed, 8 Aug 2012 21:51:04 +0000 (+0000) Subject: nuport-mac: check dma_map_single address return values X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=b77494fa2f64003979e144d00cee92b261b3f892;p=openwrt%2Fstaging%2Fyousong.git nuport-mac: check dma_map_single address return values SVN-Revision: 33067 --- diff --git a/target/linux/mcs814x/files-3.3/drivers/net/ethernet/mcs8140/nuport_mac.c b/target/linux/mcs814x/files-3.3/drivers/net/ethernet/mcs8140/nuport_mac.c index 794987f73b..38dbe1ee7d 100644 --- a/target/linux/mcs814x/files-3.3/drivers/net/ethernet/mcs8140/nuport_mac.c +++ b/target/linux/mcs814x/files-3.3/drivers/net/ethernet/mcs8140/nuport_mac.c @@ -256,6 +256,8 @@ static int nuport_mac_start_tx_dma(struct nuport_mac_priv *priv, priv->tx_addr = dma_map_single(&priv->pdev->dev, skb->data, skb->len, DMA_TO_DEVICE); + if (!priv->tx_addr) + return -ENOMEM; /* enable enhanced mode */ nuport_mac_writel(TX_DMA_ENH_ENABLE, TX_DMA_ENH); @@ -297,6 +299,8 @@ static int nuport_mac_start_rx_dma(struct nuport_mac_priv *priv, priv->rx_addr = dma_map_single(&priv->pdev->dev, skb->data, RX_ALLOC_SIZE, DMA_FROM_DEVICE); + if (!priv->rx_addr) + return -ENOMEM; nuport_mac_writel(priv->rx_addr, RX_BUFFER_ADDR); wmb();