ethernet: micrel: fix some error codes
Subsystems (3)
PATCH 1/1 ethernet: micrel: fix some error codes
There were two issues here:
1) dma_mapping_error() return true/false but we want to return -ENOMEM
2) If dmaengine_prep_slave_sg() failed then "err" wasn't set but presumably that should be -ENOMEM as well.
I changed the success path to "return 0;" instead of "return ret;" for clarity.
Fixes 94fe8c683cea ('ks8842: Support DMA when accessed via timberdale')
Signed-off-by Dan Carpenter <[email protected]>
drivers/net/ethernet/micrel/ks8842.c +6 -4
@@ -561,8 +561,8 @@ static int __ks8842_start_new_rx_dma(struct net_device *netdev)sg_init_table (sg,1 );sg_dma_address (sg) =dma_map_single (adapter->dev, ctl->skb->data,DMA_BUFFER_SIZE ,DMA_FROM_DEVICE ); - err =dma_mapping_error (adapter->dev,sg_dma_address (sg)); -if (unlikely (err)) { +if (dma_mapping_error (adapter->dev,sg_dma_address (sg))) { + err = -ENOMEM ;sg_dma_address (sg) =0 ; goto out; }
@@ -572,8 +572,10 @@ static int __ks8842_start_new_rx_dma(struct net_device *netdev) ctl->adesc =dmaengine_prep_slave_sg (ctl->chan, sg,1 ,DMA_DEV_TO_MEM ,DMA_PREP_INTERRUPT ); -if (!ctl->adesc) +if (!ctl->adesc) { + err = -ENOMEM ; goto out; + } ctl->adesc->callback_param = netdev; ctl->adesc->callback = ks8842_dma_rx_cb;
@@ -584,7 +586,7 @@ static int __ks8842_start_new_rx_dma(struct net_device *netdev) goto out; } -return err; +return 0 ; out:if (sg_dma_address (sg)) dma_unmap_single(adapter->dev, sg_dma_address(sg),
From: Dan Carpenter <[email protected]>
Date: Wed, 16 Mar 2016 10:45:10 +0300
Quoted 10 lines
There were two issues here:
1)dma_mapping_error()return true/false but we want to return-ENOMEM
2) Ifdmaengine_prep_slave_sg()failed then "err" wasn't set but presumably that should be-ENOMEMas well.I changed the success path to "return 0;" instead of "return ret;" for clarity.
Fixes 94fe8c683cea ('ks8842: Support DMA when accessed via timberdale')Signed-off-by Dan Carpenter <[email protected]>
Applied.