msm: clock-generic: Fix race condition between mux set rate and en/dis

Some mux implementations might switch to/from a low power parent as part of
their disable/enable ops. This can race with the temporary switch to the
"safe parent" that's done during a mux set rate. So, grab the enable lock
while temporarily switching to the safe parent.

The onus of remembering the last requested set_mux_sel and setting it back
to that when the mux is enabled is still the responsibility of the specific
implementation.

Change-Id: I9ead3334b29ce7d219415cef562424d6455a348d
Signed-off-by: Saravana Kannan <skannan@codeaurora.org>
1 file changed