changeset 3867:3bb8feda9874

6534262 pcic panics during install when Toshiba M2 has PC-Card set to PCIC Compatible
author rw148561
date Tue, 20 Mar 2007 22:22:30 -0700
parents a61ffaa37ee1
children 6da9b9f37150
files usr/src/uts/common/io/pcic.c
diffstat 1 files changed, 6 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/common/io/pcic.c	Tue Mar 20 19:30:49 2007 -0700
+++ b/usr/src/uts/common/io/pcic.c	Tue Mar 20 22:22:30 2007 -0700
@@ -808,6 +808,8 @@
 				ddi_get_instance(dip));
 
 			kmem_free(pcic, sizeof (pcicdev_t));
+			ddi_soft_state_free(pcic_soft_state_p,
+				ddi_get_instance(dip));
 			return (DDI_FAILURE);
 		}
 	} /* ddi_prop_op("device_type") */
@@ -816,15 +818,13 @@
 		strcmp(bus_type, DEVI_PCIEX_NEXNAME) == 0) {
 		pcic->pc_flags = PCF_PCIBUS;
 	} else {
-#if defined(__sparc)
-		cmn_err(CE_CONT, "pcic%d: unsupported parent bus type: [%s]\n",
+		cmn_err(CE_WARN, "!pcic%d: non-pci mode (%s) not supported, "
+			"set BIOS to yenta mode if applicable\n",
 			ddi_get_instance(dip), bus_type);
-
 		kmem_free(pcic, sizeof (pcicdev_t));
+		ddi_soft_state_free(pcic_soft_state_p,
+			ddi_get_instance(dip));
 		return (DDI_FAILURE);
-#else
-		pcic->pc_flags = 0;
-#endif
 	}
 
 	if ((pcic->bus_speed = ddi_getprop(DDI_DEV_T_ANY, ddi_get_parent(dip),