diff options
-rw-r--r-- | drivers/pnp/pnpacpi/rsparser.c | 15 | ||||
-rw-r--r-- | include/linux/pnp.h | 4 |
2 files changed, 15 insertions, 4 deletions
diff --git a/drivers/pnp/pnpacpi/rsparser.c b/drivers/pnp/pnpacpi/rsparser.c index 11adab13f2b7..3c5eb374adf8 100644 --- a/drivers/pnp/pnpacpi/rsparser.c +++ b/drivers/pnp/pnpacpi/rsparser.c | |||
@@ -83,9 +83,11 @@ static void pnpacpi_parse_allocated_irqresource(struct pnp_resource_table *res, | |||
83 | while (!(res->irq_resource[i].flags & IORESOURCE_UNSET) && | 83 | while (!(res->irq_resource[i].flags & IORESOURCE_UNSET) && |
84 | i < PNP_MAX_IRQ) | 84 | i < PNP_MAX_IRQ) |
85 | i++; | 85 | i++; |
86 | if (i >= PNP_MAX_IRQ) | 86 | if (i >= PNP_MAX_IRQ) { |
87 | printk(KERN_ERR "pnpacpi: exceeded the max number of IRQ " | ||
88 | "resources: %d \n", PNP_MAX_IRQ); | ||
87 | return; | 89 | return; |
88 | 90 | } | |
89 | /* | 91 | /* |
90 | * in IO-APIC mode, use overrided attribute. Two reasons: | 92 | * in IO-APIC mode, use overrided attribute. Two reasons: |
91 | * 1. BIOS bug in DSDT | 93 | * 1. BIOS bug in DSDT |
@@ -181,6 +183,9 @@ static void pnpacpi_parse_allocated_dmaresource(struct pnp_resource_table *res, | |||
181 | } | 183 | } |
182 | res->dma_resource[i].start = dma; | 184 | res->dma_resource[i].start = dma; |
183 | res->dma_resource[i].end = dma; | 185 | res->dma_resource[i].end = dma; |
186 | } else { | ||
187 | printk(KERN_ERR "pnpacpi: exceeded the max number of DMA " | ||
188 | "resources: %d \n", PNP_MAX_DMA); | ||
184 | } | 189 | } |
185 | } | 190 | } |
186 | 191 | ||
@@ -202,6 +207,9 @@ static void pnpacpi_parse_allocated_ioresource(struct pnp_resource_table *res, | |||
202 | } | 207 | } |
203 | res->port_resource[i].start = io; | 208 | res->port_resource[i].start = io; |
204 | res->port_resource[i].end = io + len - 1; | 209 | res->port_resource[i].end = io + len - 1; |
210 | } else { | ||
211 | printk(KERN_ERR "pnpacpi: exceeded the max number of IO " | ||
212 | "resources: %d \n", PNP_MAX_PORT); | ||
205 | } | 213 | } |
206 | } | 214 | } |
207 | 215 | ||
@@ -225,6 +233,9 @@ static void pnpacpi_parse_allocated_memresource(struct pnp_resource_table *res, | |||
225 | 233 | ||
226 | res->mem_resource[i].start = mem; | 234 | res->mem_resource[i].start = mem; |
227 | res->mem_resource[i].end = mem + len - 1; | 235 | res->mem_resource[i].end = mem + len - 1; |
236 | } else { | ||
237 | printk(KERN_ERR "pnpacpi: exceeded the max number of mem " | ||
238 | "resources: %d\n", PNP_MAX_MEM); | ||
228 | } | 239 | } |
229 | } | 240 | } |
230 | 241 | ||
diff --git a/include/linux/pnp.h b/include/linux/pnp.h index 664d68cb1fbd..0a0426c2867d 100644 --- a/include/linux/pnp.h +++ b/include/linux/pnp.h | |||
@@ -13,8 +13,8 @@ | |||
13 | #include <linux/errno.h> | 13 | #include <linux/errno.h> |
14 | #include <linux/mod_devicetable.h> | 14 | #include <linux/mod_devicetable.h> |
15 | 15 | ||
16 | #define PNP_MAX_PORT 8 | 16 | #define PNP_MAX_PORT 24 |
17 | #define PNP_MAX_MEM 4 | 17 | #define PNP_MAX_MEM 12 |
18 | #define PNP_MAX_IRQ 2 | 18 | #define PNP_MAX_IRQ 2 |
19 | #define PNP_MAX_DMA 2 | 19 | #define PNP_MAX_DMA 2 |
20 | #define PNP_NAME_LEN 50 | 20 | #define PNP_NAME_LEN 50 |