lkml.org 
[lkml]   [2008]   [Jan]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: Linux 2.6.23.12
    Date
    The patch below was put in 2.6.23.12 as a fix for
    http://bugzilla.kernel.org/show_bug.cgi?id=9514. It apparently
    does make 9514 go away, but only by coincidence. There are a
    couple other ideas about fixing 9514. My proposed patch is
    attached in the bugzilla.

    The .12 patch reduces the number of resources we reserve from
    24 to 8 ioport regions and from 12 to 4 mmio regions per PNP device.
    It also removes a warning about regions we ignore.

    Obviously, we want to reserve ALL the regions for PNP devices,
    and Thomas is working on a patch for that (which I hope will be
    ready for 2.6.25). But in the meantime, the .12 patch makes it
    more likely that we will have resource conflicts with PNP devices.

    http://bugzilla.kernel.org/show_bug.cgi?id=9630 appears to be
    such a conflict.

    I think the patch below should be removed from the stable series.

    Bjorn

    On Tuesday 18 December 2007 03:46:36 pm Greg Kroah-Hartman wrote:
    > diff --git a/Makefile b/Makefile
    > index ada10d5..96c3f02 100644
    > --- a/Makefile
    > +++ b/Makefile
    > @@ -1,7 +1,7 @@
    > VERSION = 2
    > PATCHLEVEL = 6
    > SUBLEVEL = 23
    > -EXTRAVERSION = .11
    > +EXTRAVERSION = .12
    > NAME = Arr Matey! A Hairy Bilge Rat!
    >
    > # *DOCUMENTATION*
    > diff --git a/drivers/pnp/pnpacpi/rsparser.c b/drivers/pnp/pnpacpi/rsparser.c
    > index 5abf5ea..0e3b8d0 100644
    > --- a/drivers/pnp/pnpacpi/rsparser.c
    > +++ b/drivers/pnp/pnpacpi/rsparser.c
    > @@ -82,11 +82,9 @@ static void pnpacpi_parse_allocated_irqresource(struct pnp_resource_table *res,
    > while (!(res->irq_resource[i].flags & IORESOURCE_UNSET) &&
    > i < PNP_MAX_IRQ)
    > i++;
    > - if (i >= PNP_MAX_IRQ) {
    > - printk(KERN_ERR "pnpacpi: exceeded the max number of IRQ "
    > - "resources: %d \n", PNP_MAX_IRQ);
    > + if (i >= PNP_MAX_IRQ)
    > return;
    > - }
    > +
    > res->irq_resource[i].flags = IORESOURCE_IRQ; // Also clears _UNSET flag
    > res->irq_resource[i].flags |= irq_flags(triggering, polarity);
    > irq = acpi_register_gsi(gsi, triggering, polarity);
    > @@ -165,9 +163,6 @@ static void pnpacpi_parse_allocated_dmaresource(struct pnp_resource_table *res,
    > }
    > res->dma_resource[i].start = dma;
    > res->dma_resource[i].end = dma;
    > - } else {
    > - printk(KERN_ERR "pnpacpi: exceeded the max number of DMA "
    > - "resources: %d \n", PNP_MAX_DMA);
    > }
    > }
    >
    > @@ -189,9 +184,6 @@ static void pnpacpi_parse_allocated_ioresource(struct pnp_resource_table *res,
    > }
    > res->port_resource[i].start = io;
    > res->port_resource[i].end = io + len - 1;
    > - } else {
    > - printk(KERN_ERR "pnpacpi: exceeded the max number of IO "
    > - "resources: %d \n", PNP_MAX_PORT);
    > }
    > }
    >
    > @@ -215,9 +207,6 @@ static void pnpacpi_parse_allocated_memresource(struct pnp_resource_table *res,
    >
    > res->mem_resource[i].start = mem;
    > res->mem_resource[i].end = mem + len - 1;
    > - } else {
    > - printk(KERN_ERR "pnpacpi: exceeded the max number of mem "
    > - "resources: %d\n", PNP_MAX_MEM);
    > }
    > }
    >
    > diff --git a/include/linux/pnp.h b/include/linux/pnp.h
    > index 62decab..16b46aa 100644
    > --- a/include/linux/pnp.h
    > +++ b/include/linux/pnp.h
    > @@ -13,8 +13,8 @@
    > #include <linux/errno.h>
    > #include <linux/mod_devicetable.h>
    >
    > -#define PNP_MAX_PORT 24
    > -#define PNP_MAX_MEM 12
    > +#define PNP_MAX_PORT 8
    > +#define PNP_MAX_MEM 4
    > #define PNP_MAX_IRQ 2
    > #define PNP_MAX_DMA 2
    > #define PNP_NAME_LEN 50


    \
     
     \ /
      Last update: 2008-01-02 21:45    [W:0.043 / U:31.888 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site