Skip to content

Commit

Permalink
ACPIPHP: prevent duplicate slot numbers when no _SUN
Browse files Browse the repository at this point in the history
Dock bridges generally do not implement _SUN, yet show up as ejectable
slots.  If you have more than one ejectable slot that does not implement
SUN, with the current code you will get duplicate slot numbers.  So, if
there is no _SUN, use the current count of the number of slots found
instead.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
  • Loading branch information
Kristen Accardi authored and Len Brown committed Jun 28, 2006
1 parent 2b85e13 commit 95b38b3
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions drivers/pci/hotplug/acpiphp_glue.c
Original file line number Diff line number Diff line change
Expand Up @@ -219,8 +219,13 @@ register_slot(acpi_handle handle, u32 lvl, void *context, void **rv)
newfunc->flags |= FUNC_HAS_DCK;

status = acpi_evaluate_integer(handle, "_SUN", NULL, &sun);
if (ACPI_FAILURE(status))
sun = -1;
if (ACPI_FAILURE(status)) {
/*
* use the count of the number of slots we've found
* for the number of the slot
*/
sun = bridge->nr_slots+1;
}

/* search for objects that share the same slot */
for (slot = bridge->slots; slot; slot = slot->next)
Expand Down

0 comments on commit 95b38b3

Please sign in to comment.