int i = 0;
        int irq;
        int p, t;
+       static unsigned char warned;
 
        if (!valid_IRQ(gsi))
                return;
        while (!(res->irq_resource[i].flags & IORESOURCE_UNSET) &&
               i < PNP_MAX_IRQ)
                i++;
-       if (i >= PNP_MAX_IRQ) {
+       if (i >= PNP_MAX_IRQ && !warned) {
                printk(KERN_ERR "pnpacpi: exceeded the max number of IRQ "
                                "resources: %d \n", PNP_MAX_IRQ);
+               warned = 1;
                return;
        }
        /*
                                                int bus_master, int transfer)
 {
        int i = 0;
+       static unsigned char warned;
 
        while (i < PNP_MAX_DMA &&
               !(res->dma_resource[i].flags & IORESOURCE_UNSET))
                }
                res->dma_resource[i].start = dma;
                res->dma_resource[i].end = dma;
-       } else {
+       } else if (!warned) {
                printk(KERN_ERR "pnpacpi: exceeded the max number of DMA "
                                "resources: %d \n", PNP_MAX_DMA);
+               warned = 1;
        }
 }
 
                                               u64 io, u64 len, int io_decode)
 {
        int i = 0;
+       static unsigned char warned;
 
        while (!(res->port_resource[i].flags & IORESOURCE_UNSET) &&
               i < PNP_MAX_PORT)
                }
                res->port_resource[i].start = io;
                res->port_resource[i].end = io + len - 1;
-       } else {
+       } else if (!warned) {
                printk(KERN_ERR "pnpacpi: exceeded the max number of IO "
                                "resources: %d \n", PNP_MAX_PORT);
        }
                                                int write_protect)
 {
        int i = 0;
+       static unsigned char warned;
 
        while (!(res->mem_resource[i].flags & IORESOURCE_UNSET) &&
               (i < PNP_MAX_MEM))
 
                res->mem_resource[i].start = mem;
                res->mem_resource[i].end = mem + len - 1;
-       } else {
+       } else if (!warned) {
                printk(KERN_ERR "pnpacpi: exceeded the max number of mem "
                                "resources: %d\n", PNP_MAX_MEM);
        }