diff options
author | Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> | 2016-11-08 15:16:05 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-11-12 21:06:50 -0500 |
commit | b602e491a518439abd98a25ccded85e1347b9a14 (patch) | |
tree | 1e25747e2c12df86484617daa3702414aef98779 | |
parent | 6b8609d85946af7a846a6833b496dd875473c18e (diff) | |
download | linux-b602e491a518439abd98a25ccded85e1347b9a14.tar.bz2 |
net: ethernet: ti: davinci_cpdma: free memory while channel destroy
While create/destroy channel operation memory is not freed. It was
supposed that memory is freed while driver remove. But a channel
can be created and destroyed many times while changing number of
channels with ethtool.
Based on net-next/master
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/ti/davinci_cpdma.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/ti/davinci_cpdma.c b/drivers/net/ethernet/ti/davinci_cpdma.c index c3f35f11a8fd..8f7b42053bbb 100644 --- a/drivers/net/ethernet/ti/davinci_cpdma.c +++ b/drivers/net/ethernet/ti/davinci_cpdma.c @@ -533,7 +533,7 @@ int cpdma_chan_destroy(struct cpdma_chan *chan) cpdma_chan_stop(chan); ctlr->channels[chan->chan_num] = NULL; ctlr->chan_num--; - + devm_kfree(ctlr->dev, chan); cpdma_chan_split_pool(ctlr); spin_unlock_irqrestore(&ctlr->lock, flags); |