|
@@ -283,12 +283,15 @@ int pnp_bios_dev_node_info(struct pnp_dev_node_info *data)
|
|
static int __pnp_bios_get_dev_node(u8 *nodenum, char boot, struct pnp_bios_node *data)
|
|
static int __pnp_bios_get_dev_node(u8 *nodenum, char boot, struct pnp_bios_node *data)
|
|
{
|
|
{
|
|
u16 status;
|
|
u16 status;
|
|
|
|
+ u16 tmp_nodenum;
|
|
if (!pnp_bios_present())
|
|
if (!pnp_bios_present())
|
|
return PNP_FUNCTION_NOT_SUPPORTED;
|
|
return PNP_FUNCTION_NOT_SUPPORTED;
|
|
if ( !boot && pnpbios_dont_use_current_config )
|
|
if ( !boot && pnpbios_dont_use_current_config )
|
|
return PNP_FUNCTION_NOT_SUPPORTED;
|
|
return PNP_FUNCTION_NOT_SUPPORTED;
|
|
|
|
+ tmp_nodenum = *nodenum;
|
|
status = call_pnp_bios(PNP_GET_SYS_DEV_NODE, 0, PNP_TS1, 0, PNP_TS2, boot ? 2 : 1, PNP_DS, 0,
|
|
status = call_pnp_bios(PNP_GET_SYS_DEV_NODE, 0, PNP_TS1, 0, PNP_TS2, boot ? 2 : 1, PNP_DS, 0,
|
|
- nodenum, sizeof(char), data, 65536);
|
|
|
|
|
|
+ &tmp_nodenum, sizeof(tmp_nodenum), data, 65536);
|
|
|
|
+ *nodenum = tmp_nodenum;
|
|
return status;
|
|
return status;
|
|
}
|
|
}
|
|
|
|
|