aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-04-11 12:54:48 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2006-04-11 06:38:57 -0700
commitecc16ba96fd5b1a1c1988f0a2b05ff954bdff728 (patch)
tree57a994d0741ddef2c869db0ef83d3456cc6a13df
parent[PATCH] i386: Remove bogus special case code from AMD core parsing (diff)
downloadlinux-dev-ecc16ba96fd5b1a1c1988f0a2b05ff954bdff728.tar.xz
linux-dev-ecc16ba96fd5b1a1c1988f0a2b05ff954bdff728.zip
[PATCH] i386/x86-64: Remove checks for value == NULL in PCI config space access
Nobody should pass NULL here. Could in theory make it a BUG, but the NULL pointer oops will do as well. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/i386/pci/direct.c6
-rw-r--r--arch/i386/pci/mmconfig.c2
-rw-r--r--arch/x86_64/pci/mmconfig.c2
3 files changed, 6 insertions, 4 deletions
diff --git a/arch/i386/pci/direct.c b/arch/i386/pci/direct.c
index 0659ced01185..5d81fb510375 100644
--- a/arch/i386/pci/direct.c
+++ b/arch/i386/pci/direct.c
@@ -19,7 +19,7 @@ int pci_conf1_read(unsigned int seg, unsigned int bus,
{
unsigned long flags;
- if (!value || (bus > 255) || (devfn > 255) || (reg > 255)) {
+ if ((bus > 255) || (devfn > 255) || (reg > 255)) {
*value = -1;
return -EINVAL;
}
@@ -94,8 +94,10 @@ static int pci_conf2_read(unsigned int seg, unsigned int bus,
unsigned long flags;
int dev, fn;
- if (!value || (bus > 255) || (devfn > 255) || (reg > 255))
+ if ((bus > 255) || (devfn > 255) || (reg > 255)) {
+ *value = -1;
return -EINVAL;
+ }
dev = PCI_SLOT(devfn);
fn = PCI_FUNC(devfn);
diff --git a/arch/i386/pci/mmconfig.c b/arch/i386/pci/mmconfig.c
index f77d7f8b9bf6..6b1ea0c9a570 100644
--- a/arch/i386/pci/mmconfig.c
+++ b/arch/i386/pci/mmconfig.c
@@ -80,7 +80,7 @@ static int pci_mmcfg_read(unsigned int seg, unsigned int bus,
unsigned long flags;
u32 base;
- if (!value || (bus > 255) || (devfn > 255) || (reg > 4095)) {
+ if ((bus > 255) || (devfn > 255) || (reg > 4095)) {
*value = -1;
return -EINVAL;
}
diff --git a/arch/x86_64/pci/mmconfig.c b/arch/x86_64/pci/mmconfig.c
index b493ed977e7c..1a59a31bb740 100644
--- a/arch/x86_64/pci/mmconfig.c
+++ b/arch/x86_64/pci/mmconfig.c
@@ -75,7 +75,7 @@ static int pci_mmcfg_read(unsigned int seg, unsigned int bus,
char __iomem *addr;
/* Why do we have this when nobody checks it. How about a BUG()!? -AK */
- if (unlikely(!value || (bus > 255) || (devfn > 255) || (reg > 4095))) {
+ if (unlikely((bus > 255) || (devfn > 255) || (reg > 4095))) {
*value = -1;
return -EINVAL;
}