# HG changeset patch # User Jan Setje-Eilers # Date 1280805523 25200 # Node ID 51b1767a74cbfba539a0dfdd5df2cefd1964b2ce # Parent be78c44bc4eaecf9ad6726b12cfcc98511a003fe 6963704 seville: two pcieb nodes remain unconfigured on first config-free boot diff -r be78c44bc4ea -r 51b1767a74cb usr/src/uts/common/os/instance.c --- a/usr/src/uts/common/os/instance.c Mon Aug 02 20:12:32 2010 -0600 +++ b/usr/src/uts/common/os/instance.c Mon Aug 02 20:18:43 2010 -0700 @@ -1618,6 +1618,18 @@ } if (alias && (anp = e_ddi_path_to_instance(alias)) != NULL) { + /* + * Since pcieb nodes can split and merge, it is dangerous + * to borrow and instance for them. However since they do + * not expose their instance numbers it is safe to never + * borrow one. + */ + if (anp->in_drivers->ind_driver_name && + (strcmp(anp->in_drivers->ind_driver_name, "pcieb") == 0)) { + DDI_MP_DBG((CE_NOTE, "not borrowing pcieb: " + "%s alias: %s", curr, alias)); + goto out; + } DDI_MP_DBG((CE_NOTE, "borrowing current: %s alias: %s", curr, alias)); cnp->in_drivers = anp->in_drivers;