drivers/soc: qcom: do not disable the iface clock in probe
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tue, 23 Sep 2014 19:20:54 +0000 (20:20 +0100)
committerOlof Johansson <olof@lixom.net>
Wed, 24 Sep 2014 04:38:32 +0000 (21:38 -0700)
commitfa9eb3241895d2771b87f20dd23b40de664c5e4e
treea7ce87576896e02b50a4f3dd61cba8c0935225a3
parent21c68e7cb07957ea61da8cc2f02376243dd3086b
drivers/soc: qcom: do not disable the iface clock in probe

since commit 31964ffebbb9 ("tty: serial: msm: Remove direct access to GSBI")'
serial hangs if earlyprintk are enabled.

This hang is noticed only when the GSBI driver is probed and all the
earlyprintks before gsbi probe are seen on the console.
The reason why it hangs is because GSBI driver disables hclk in its
probe function without realizing that the serial IP might be in use by
a bootconsole. As gsbi driver disables the clock in probe the
bootconsole locks up.

Turning off hclk's could be dangerous if there are system components
like earlyprintk using the hclk.

This patch fixes the issue by delegating the clock management to
probe and remove functions in gsbi rather than disabling the clock in probe.

More detailed problem description can be found here:
http://www.spinics.net/lists/linux-arm-msm/msg10589.html

Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
drivers/soc/qcom/qcom_gsbi.c