On 11/08/2016 07:16 AM, Ivan Khoronzhuk wrote:
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.khoronz...@linaro.org>

Reviewed-by: Grygorii Strashko <grygorii.stras...@ti.com>

---
 drivers/net/ethernet/ti/davinci_cpdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/ti/davinci_cpdma.c 
b/drivers/net/ethernet/ti/davinci_cpdma.c
index 05afc05..07fc92d 100644
--- a/drivers/net/ethernet/ti/davinci_cpdma.c
+++ b/drivers/net/ethernet/ti/davinci_cpdma.c
@@ -586,7 +586,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);


--
regards,
-grygorii

Reply via email to