mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
d5ebde6ef5
commit
e2a1a6f1cf
|
@ -582,7 +582,7 @@ isapnp_parse_name(char *name, unsigned int name_max, unsigned short *size)
|
|||
static int __init isapnp_create_device(struct pnp_card *card,
|
||||
unsigned short size)
|
||||
{
|
||||
int number = 0, skip = 0, priority = 0, compat = 0;
|
||||
int number = 0, skip = 0, priority, compat = 0;
|
||||
unsigned char type, tmp[17];
|
||||
struct pnp_option *option;
|
||||
struct pnp_dev *dev;
|
||||
|
@ -621,7 +621,6 @@ static int __init isapnp_create_device(struct pnp_card *card,
|
|||
} else {
|
||||
skip = 1;
|
||||
}
|
||||
priority = 0;
|
||||
compat = 0;
|
||||
break;
|
||||
case _STAG_COMPATDEVID:
|
||||
|
@ -650,10 +649,10 @@ static int __init isapnp_create_device(struct pnp_card *card,
|
|||
case _STAG_STARTDEP:
|
||||
if (size > 1)
|
||||
goto __skip;
|
||||
priority = 0x100 | PNP_RES_PRIORITY_ACCEPTABLE;
|
||||
priority = PNP_RES_PRIORITY_ACCEPTABLE;
|
||||
if (size > 0) {
|
||||
isapnp_peek(tmp, size);
|
||||
priority = 0x100 | tmp[0];
|
||||
priority = tmp[0];
|
||||
size = 0;
|
||||
}
|
||||
option = pnp_register_dependent_option(dev, priority);
|
||||
|
@ -663,7 +662,6 @@ static int __init isapnp_create_device(struct pnp_card *card,
|
|||
case _STAG_ENDDEP:
|
||||
if (size != 0)
|
||||
goto __skip;
|
||||
priority = 0;
|
||||
dev_dbg(&dev->dev, "end dependent options\n");
|
||||
break;
|
||||
case _STAG_IOPORT:
|
||||
|
|
|
@ -579,7 +579,7 @@ struct acpipnp_parse_option_s {
|
|||
static __init acpi_status pnpacpi_option_resource(struct acpi_resource *res,
|
||||
void *data)
|
||||
{
|
||||
int priority = 0;
|
||||
int priority;
|
||||
struct acpipnp_parse_option_s *parse_data = data;
|
||||
struct pnp_dev *dev = parse_data->dev;
|
||||
struct pnp_option *option = parse_data->option;
|
||||
|
|
|
@ -315,7 +315,7 @@ pnpbios_parse_resource_option_data(unsigned char *p, unsigned char *end,
|
|||
struct pnp_dev *dev)
|
||||
{
|
||||
unsigned int len, tag;
|
||||
int priority = 0;
|
||||
int priority;
|
||||
struct pnp_option *option, *option_independent;
|
||||
|
||||
if (!p)
|
||||
|
@ -389,9 +389,9 @@ pnpbios_parse_resource_option_data(unsigned char *p, unsigned char *end,
|
|||
case SMALL_TAG_STARTDEP:
|
||||
if (len > 1)
|
||||
goto len_err;
|
||||
priority = 0x100 | PNP_RES_PRIORITY_ACCEPTABLE;
|
||||
priority = PNP_RES_PRIORITY_ACCEPTABLE;
|
||||
if (len > 0)
|
||||
priority = 0x100 | p[1];
|
||||
priority = p[1];
|
||||
option = pnp_register_dependent_option(dev, priority);
|
||||
if (!option)
|
||||
return NULL;
|
||||
|
|
Loading…
Reference in New Issue