summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/sysdev/qe_lib/qe.c
diff options
context:
space:
mode:
authorIonut Nicu <ionut.nicu@freescale.com>2008-03-07 18:27:59 +0100
committerKumar Gala <galak@kernel.crashing.org>2008-03-10 19:07:27 +0100
commit86f4e5d4335556191b436b41b0ad2f719c4a98d4 (patch)
tree8aa1f2453df03df59037d69fc263a389dc3a94da /arch/powerpc/sysdev/qe_lib/qe.c
parent[POWERPC] 83xx: Make 83xx perfmon support selectable (diff)
downloadlinux-86f4e5d4335556191b436b41b0ad2f719c4a98d4.tar.xz
linux-86f4e5d4335556191b436b41b0ad2f719c4a98d4.zip
[POWERPC] QE: Make qe_get_firmware_info reentrant
The function was returning NULL the second time it was called if the firmware was uploaded from the boot loader or the first time it was called if the firmware was uploaded from the kernel. Signed-off-by: Ionut Nicu <ionut.nicu@freescale.com> Acked-By: Timur Tabi <timur@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/sysdev/qe_lib/qe.c')
-rw-r--r--arch/powerpc/sysdev/qe_lib/qe.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/powerpc/sysdev/qe_lib/qe.c b/arch/powerpc/sysdev/qe_lib/qe.c
index f963fbf21ef0..cc81fd1141b0 100644
--- a/arch/powerpc/sysdev/qe_lib/qe.c
+++ b/arch/powerpc/sysdev/qe_lib/qe.c
@@ -609,7 +609,10 @@ struct qe_firmware_info *qe_get_firmware_info(void)
* If we haven't checked yet, and a driver hasn't uploaded a firmware
* yet, then check the device tree for information.
*/
- if (initialized || qe_firmware_uploaded)
+ if (qe_firmware_uploaded)
+ return &qe_firmware_info;
+
+ if (initialized)
return NULL;
initialized = 1;