diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2008-06-27 18:57:15 -0400 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2008-07-16 17:27:07 -0400 |
commit | e2a1a6f1cfaf6ee770a8700e5df8a3708dae503b (patch) | |
tree | bab0c1b3dbc593fc3d89f3897c3cf949244c3105 /drivers/pnp/isapnp | |
parent | d5ebde6ef5c2d51828f975a81d7d0e58bccfd833 (diff) |
PNP: remove extra 0x100 bit from option priority
When building resource options, ISAPNP and PNPBIOS set the priority
to something like "0x100 | PNP_RES_PRIORITY_ACCEPTABLE", but we
immediately mask off the 0x100 again in pnp_build_option(), so that
bit looks superfluous.
Thanks to Rene Herman <rene.herman@gmail.com> for pointing this out.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/pnp/isapnp')
-rw-r--r-- | drivers/pnp/isapnp/core.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/pnp/isapnp/core.c b/drivers/pnp/isapnp/core.c index 3f75fdbe6098..90718be66463 100644 --- a/drivers/pnp/isapnp/core.c +++ b/drivers/pnp/isapnp/core.c | |||
@@ -582,7 +582,7 @@ isapnp_parse_name(char *name, unsigned int name_max, unsigned short *size) | |||
582 | static int __init isapnp_create_device(struct pnp_card *card, | 582 | static int __init isapnp_create_device(struct pnp_card *card, |
583 | unsigned short size) | 583 | unsigned short size) |
584 | { | 584 | { |
585 | int number = 0, skip = 0, priority = 0, compat = 0; | 585 | int number = 0, skip = 0, priority, compat = 0; |
586 | unsigned char type, tmp[17]; | 586 | unsigned char type, tmp[17]; |
587 | struct pnp_option *option; | 587 | struct pnp_option *option; |
588 | struct pnp_dev *dev; | 588 | struct pnp_dev *dev; |
@@ -621,7 +621,6 @@ static int __init isapnp_create_device(struct pnp_card *card, | |||
621 | } else { | 621 | } else { |
622 | skip = 1; | 622 | skip = 1; |
623 | } | 623 | } |
624 | priority = 0; | ||
625 | compat = 0; | 624 | compat = 0; |
626 | break; | 625 | break; |
627 | case _STAG_COMPATDEVID: | 626 | case _STAG_COMPATDEVID: |
@@ -650,10 +649,10 @@ static int __init isapnp_create_device(struct pnp_card *card, | |||
650 | case _STAG_STARTDEP: | 649 | case _STAG_STARTDEP: |
651 | if (size > 1) | 650 | if (size > 1) |
652 | goto __skip; | 651 | goto __skip; |
653 | priority = 0x100 | PNP_RES_PRIORITY_ACCEPTABLE; | 652 | priority = PNP_RES_PRIORITY_ACCEPTABLE; |
654 | if (size > 0) { | 653 | if (size > 0) { |
655 | isapnp_peek(tmp, size); | 654 | isapnp_peek(tmp, size); |
656 | priority = 0x100 | tmp[0]; | 655 | priority = tmp[0]; |
657 | size = 0; | 656 | size = 0; |
658 | } | 657 | } |
659 | option = pnp_register_dependent_option(dev, priority); | 658 | option = pnp_register_dependent_option(dev, priority); |
@@ -663,7 +662,6 @@ static int __init isapnp_create_device(struct pnp_card *card, | |||
663 | case _STAG_ENDDEP: | 662 | case _STAG_ENDDEP: |
664 | if (size != 0) | 663 | if (size != 0) |
665 | goto __skip; | 664 | goto __skip; |
666 | priority = 0; | ||
667 | dev_dbg(&dev->dev, "end dependent options\n"); | 665 | dev_dbg(&dev->dev, "end dependent options\n"); |
668 | break; | 666 | break; |
669 | case _STAG_IOPORT: | 667 | case _STAG_IOPORT: |