regulator: core: fix race condition in regulator_put()
The regulator framework maintains a list of consumer regulators
for a regulator device and protects it from concurrent access
using the regulator device's mutex lock.
In the case of regulator_put() the consumer is removed and regulator
device's parameters are updated without holding the regulator device's
mutex. This would lead to a race condition between the regulator_put()
and any function which traverses the consumer list or modifies regulator
device's parameters.
Fix this race condition by holding the regulator device's mutex in case
of regulator_put.
CRs-Fixed: 775204
Change-Id: I0abbdca40aeba6d07a0d41f65bf02de00c3f2bf6
Signed-off-by:
Ashay Jaiswal <ashayj@codeaurora.org>
Loading
Please register or sign in to comment