summaryrefslogtreecommitdiff
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
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>
-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;