git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.3
[linux-2.6.git]
/
drivers
/
pnp
/
pnpbios
/
rsparser.c
diff --git
a/drivers/pnp/pnpbios/rsparser.c
b/drivers/pnp/pnpbios/rsparser.c
index
f990065
..
7aafbf8
100644
(file)
--- a/
drivers/pnp/pnpbios/rsparser.c
+++ b/
drivers/pnp/pnpbios/rsparser.c
@@
-346,12
+346,12
@@
pnpbios_parse_resource_option_data(unsigned char * p, unsigned char * end, struc
{
unsigned int len, tag;
int priority = 0;
{
unsigned int len, tag;
int priority = 0;
- struct pnp_option *option;
+ struct pnp_option *option
, *option_independent
;
if (!p)
return NULL;
if (!p)
return NULL;
- option = pnp_register_independent_option(dev);
+ option
_independent = option
= pnp_register_independent_option(dev);
if (!option)
return NULL;
if (!option)
return NULL;
@@
-428,9
+428,14
@@
pnpbios_parse_resource_option_data(unsigned char * p, unsigned char * end, struc
case SMALL_TAG_ENDDEP:
if (len != 0)
goto len_err;
case SMALL_TAG_ENDDEP:
if (len != 0)
goto len_err;
+ if (option_independent == option)
+ printk(KERN_WARNING "PnPBIOS: Missing SMALL_TAG_STARTDEP tag\n");
+ option = option_independent;
break;
case SMALL_TAG_END:
break;
case SMALL_TAG_END:
+ if (option_independent != option)
+ printk(KERN_WARNING "PnPBIOS: Missing SMALL_TAG_ENDDEP tag\n");
p = p + 2;
return (unsigned char *)p;
break;
p = p + 2;
return (unsigned char *)p;
break;