summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonut Nicu <ionut.nicu@freescale.com>2008-03-07 17:27:59 (GMT)
committerKumar Gala <galak@kernel.crashing.org>2008-03-10 18:07:27 (GMT)
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 f963fbf..cc81fd1 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;