Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 46393
b: refs/heads/master
c: f1c2b1d
h: refs/heads/master
i:
  46391: e7f1bc4
v: v3
  • Loading branch information
Bob Moore authored and Len Brown committed Feb 3, 2007
1 parent 0c6d072 commit e128209
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 22 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c1014629c0fc563be65e675e72bcc9bd7db50195
refs/heads/master: f1c2b1daf040d2feebfbbd4a0cd80cde856fc031
45 changes: 24 additions & 21 deletions trunk/drivers/acpi/namespace/nsxfname.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,38 +84,41 @@ acpi_get_handle(acpi_handle parent,
/* Convert a parent handle to a prefix node */

if (parent) {
status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE);
if (ACPI_FAILURE(status)) {
return (status);
}

prefix_node = acpi_ns_map_handle_to_node(parent);
if (!prefix_node) {
(void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
return (AE_BAD_PARAMETER);
}
}

/*
* Valid cases are:
* 1) Fully qualified pathname
* 2) Parent + Relative pathname
*
* Error for <null Parent + relative path>
*/
if (acpi_ns_valid_root_prefix(pathname[0])) {

status = acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
if (ACPI_FAILURE(status)) {
return (status);
/* Pathname is fully qualified (starts with '\') */

/* Special case for root-only, since we can't search for it */

if (!ACPI_STRCMP(pathname, ACPI_NS_ROOT_PATH)) {
*ret_handle =
acpi_ns_convert_entry_to_handle(acpi_gbl_root_node);
return (AE_OK);
}
}
} else if (!prefix_node) {

/* Special case for root, since we can't search for it */
/* Relative path with null prefix is disallowed */

if (ACPI_STRCMP(pathname, ACPI_NS_ROOT_PATH) == 0) {
*ret_handle =
acpi_ns_convert_entry_to_handle(acpi_gbl_root_node);
return (AE_OK);
return (AE_BAD_PARAMETER);
}

/*
* Find the Node and convert to a handle
*/
status = acpi_ns_get_node(prefix_node, pathname, ACPI_NS_NO_UPSEARCH,
&node);
/* Find the Node and convert to a handle */

*ret_handle = NULL;
status =
acpi_ns_get_node(prefix_node, pathname, ACPI_NS_NO_UPSEARCH, &node);
if (ACPI_SUCCESS(status)) {
*ret_handle = acpi_ns_convert_entry_to_handle(node);
}
Expand Down

0 comments on commit e128209

Please sign in to comment.