summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@nexenta.com>2010-10-13 13:28:06 -0700
committerGarrett D'Amore <garrett@nexenta.com>2010-10-13 13:28:06 -0700
commite5f4d43e3fa0e37ce1873d5e19770f8a8bb9b826 (patch)
tree26705f4c6fee3a779a4aaaea9dcb69f0f3a52247 /usr/src
parente95532de76799a2e1ff8b74afce3d018a7eb1e9c (diff)
downloadillumos-gate-e5f4d43e3fa0e37ce1873d5e19770f8a8bb9b826.tar.gz
176 assertion failed: kept_info, file: ../../common/os/sunpm.c, line: 5219
Reviewed by: richlowe@richlowe.net Approved by: gwr@nexenta.com
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/os/sunpm.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/usr/src/uts/common/os/sunpm.c b/usr/src/uts/common/os/sunpm.c
index d709c547e1..80acb8c8f0 100644
--- a/usr/src/uts/common/os/sunpm.c
+++ b/usr/src/uts/common/os/sunpm.c
@@ -22,6 +22,9 @@
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
+/*
+ * Copyright 2010 Nexenta Systems, Inc. All rights reserved.
+ */
/*
* sunpm.c builds sunpm.o "power management framework"
@@ -5196,7 +5199,6 @@ static int
pm_set_keeping(dev_info_t *keeper, dev_info_t *kept)
{
PMD_FUNC(pmf, "set_keeping")
- pm_info_t *kept_info;
int j, up = 0, circ;
void prdeps(char *);
@@ -5215,8 +5217,15 @@ pm_set_keeping(dev_info_t *keeper, dev_info_t *kept)
"power managed\n", pmf, PM_DEVICE(keeper)))
return (0);
}
- kept_info = PM_GET_PM_INFO(kept);
- ASSERT(kept_info);
+ if (PM_GET_PM_INFO(kept) == NULL) {
+ cmn_err(CE_CONT, "!device %s@%s(%s#%d) keeps up device "
+ "%s@%s(%s#%d), but the latter is not power managed",
+ PM_DEVICE(keeper), PM_DEVICE(kept));
+ PMD((PMD_FAIL | PMD_KEEPS), ("%s: kept %s@%s(%s#%d) is not"
+ "power managed\n", pmf, PM_DEVICE(kept)))
+ return (0);
+ }
+
PM_LOCK_POWER(keeper, &circ);
for (j = 0; j < PM_NUMCMPTS(keeper); j++) {
if (PM_CURPOWER(keeper, j)) {