dma: mv_xor: fix error handling for clocks
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 6 Jan 2013 10:10:44 +0000 (11:10 +0100)
committerJason Cooper <jason@lakedaemon.net>
Sun, 6 Jan 2013 17:53:28 +0000 (17:53 +0000)
commitdab9206445952e64213582b2ab9077972850d65b
tree92fe891f1fdcca9882523aa615fcdb809c3dc3b4
parentab6e439fd07aba7cadcadb3fb5e11d3758e19679
dma: mv_xor: fix error handling for clocks

When a channel fails to initialize, we release all ressources,
including clocks. However, a XOR unit is not necessarily associated to
a clock (some variants of Marvell SoCs have a clock for XOR units,
some don't), so we shouldn't unconditionally be releasing the clock.

Instead, just like we do in the mv_xor_remove() function, we should
check if one clock was found before releasing it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
drivers/dma/mv_xor.c