]> git.baikalelectronics.ru Git - kernel.git/commit
pxa168: fix double deallocation of managed resources
authorAlexey Khoroshilov <khoroshilov@ispras.ru>
Sat, 25 Apr 2015 01:07:03 +0000 (04:07 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sun, 26 Apr 2015 20:05:49 +0000 (16:05 -0400)
commit0997fdad3e5469dc3d3b5bbb03fee2bd5f82f3f3
tree5868379cbbf23f5d453a25d102455f1329ace3f7
parentde805924597e2e1d3c76e74259d07ee0ae6b2fd2
pxa168: fix double deallocation of managed resources

Commit 1cdaefe94f49 ("net: pxa168_eth: add device tree support") starts
to use managed resources by adding devm_clk_get() and
devm_ioremap_resource(), but it leaves explicit iounmap() and clock_put()
in pxa168_eth_remove() and in failure handling code of pxa168_eth_probe().
As a result double free can happen.

The patch removes explicit resource deallocation. Also it converts
clk_disable() to clk_disable_unprepare() to make it symmetrical with
clk_prepare_enable().

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/pxa168_eth.c