summaryrefslogtreecommitdiff
path: root/arch/powerpc/sysdev/qe_lib/qe.c
diff options
context:
space:
mode:
authorIonut Nicu <ionut.nicu@freescale.com>2008-03-07 20:27:59 +0300
committerKumar Gala <galak@kernel.crashing.org>2008-03-10 21:07:27 +0300
commit86f4e5d4335556191b436b41b0ad2f719c4a98d4 (patch)
tree8aa1f2453df03df59037d69fc263a389dc3a94da /arch/powerpc/sysdev/qe_lib/qe.c
parentad562c71592ae76440c27bba9bfa9c16cc851560 (diff)
downloadlinux-86f4e5d4335556191b436b41b0ad2f719c4a98d4.tar.xz
[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;