[PATCH] fix pcmcia errors

Paul Mackerras (paulus@samba.org)
Thu, 6 Dec 2001 13:16:25 +1100 (EST)


Marcelo,

The PCMCIA patch that I sent you and which you included in 2.4.17-pre2
turns out to have a case where it can get a NULL pointer dereference.
The patch below fixes that. I posted this patch on the list earlier
and the person who was having the problem (Alan Ford) reported that it
fixes the problem for him, so please include this patch in your next
release.

Thanks,
Paul.

diff -urN linux-2.4.17-pre2/drivers/pcmcia/rsrc_mgr.c pmac/drivers/pcmcia/rsrc_mgr.c
--- linux-2.4.17-pre2/drivers/pcmcia/rsrc_mgr.c Sat Dec 1 15:49:24 2001
+++ pmac/drivers/pcmcia/rsrc_mgr.c Mon Dec 3 14:28:16 2001
@@ -107,17 +107,19 @@
static struct resource *resource_parent(unsigned long b, unsigned long n,
int flags, struct pci_dev *dev)
{
- struct resource res;
+ struct resource res, *pr;

- if (dev == NULL) {
- if (flags & IORESOURCE_MEM)
- return &iomem_resource;
- return &ioport_resource;
+ if (dev != NULL) {
+ res.start = b;
+ res.end = b + n - 1;
+ res.flags = flags;
+ pr = pci_find_parent_resource(dev, &res);
+ if (pr)
+ return pr;
}
- res.start = b;
- res.end = b + n - 1;
- res.flags = flags;
- return pci_find_parent_resource(dev, &res);
+ if (flags & IORESOURCE_MEM)
+ return &iomem_resource;
+ return &ioport_resource;
}

static inline int check_io_resource(unsigned long b, unsigned long n,
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/