summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/sysdev/qe_lib/qe.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-03-13 01:00:35 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2008-03-13 01:00:35 +0100
commitc463be3520065ef8c05e3cbdf946c69604e91ceb (patch)
tree08b8e881a92ac116ef1182e0e6127a0fcd2d0739 /arch/powerpc/sysdev/qe_lib/qe.c
parentMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 (diff)
parent[POWERPC] Fix large hash table allocation on Cell blades (diff)
downloadlinux-c463be3520065ef8c05e3cbdf946c69604e91ceb.tar.xz
linux-c463be3520065ef8c05e3cbdf946c69604e91ceb.zip
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (22 commits) [POWERPC] Fix large hash table allocation on Cell blades [POWERPC] Export empty_zero_page [POWERPC] Fix viodasd driver with scatterlist debug [POWERPC] Fix arch/powerpc/platforms/powermac/pic.c when !CONFIG_ADB_PMU [POWERPC] Fix drivers/macintosh/mediabay.c when !CONFIG_ADB_PMU [POWERPC] Fix undefined pmu_sys_suspended compilation error [POWERPC] Fix build of modular drivers/macintosh/apm_emu.c [POWERPC] Fix sleep on some powerbooks [POWERPC] Fix bogus test for unassigned PCI resources [POWERPC] Fix zImage-dtb.initrd build error [POWERPC] Add __ucmpdi2 for 64-bit comparisons in 32-bit kernels [POWERPC] spufs: fix rescheduling of non-runnable contexts [POWERPC] spufs: don't (ab)use SCHED_IDLE [POWERPC] QE: Make qe_get_firmware_info reentrant [POWERPC] 83xx: Make 83xx perfmon support selectable [PPC] 8xx: swap bug-fix [POWERPC] 85xx: sbc8548 - Fix incorrect PCI-X and PCI interrupt map [POWERPC] QE: Fix QE firmware uploading limit [POWERPC] 8xx: Fix wrapper platform for adder875, and combine defconfigs. [POWERPC] 8xx: fix swap ...
Diffstat (limited to 'arch/powerpc/sysdev/qe_lib/qe.c')
-rw-r--r--arch/powerpc/sysdev/qe_lib/qe.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/powerpc/sysdev/qe_lib/qe.c b/arch/powerpc/sysdev/qe_lib/qe.c
index 6efbd5e5bb1b..cc81fd1141b0 100644
--- a/arch/powerpc/sysdev/qe_lib/qe.c
+++ b/arch/powerpc/sysdev/qe_lib/qe.c
@@ -509,7 +509,7 @@ int qe_upload_firmware(const struct qe_firmware *firmware)
}
/* Validate some of the fields */
- if ((firmware->count < 1) || (firmware->count >= MAX_QE_RISC)) {
+ if ((firmware->count < 1) || (firmware->count > MAX_QE_RISC)) {
printk(KERN_ERR "qe-firmware: invalid data\n");
return -EINVAL;
}
@@ -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;