diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/cmd/fm/schemes/mem/mem_unum.c | 8 | ||||
-rw-r--r-- | usr/src/uts/common/io/mem.c | 2 | ||||
-rw-r--r-- | usr/src/uts/sun4u/io/mc-us3.c | 16 | ||||
-rw-r--r-- | usr/src/uts/sun4u/io/mc-us3i.c | 14 |
4 files changed, 23 insertions, 17 deletions
diff --git a/usr/src/cmd/fm/schemes/mem/mem_unum.c b/usr/src/cmd/fm/schemes/mem/mem_unum.c index d9f0a7bfc0..dbc8e23bdf 100644 --- a/usr/src/cmd/fm/schemes/mem/mem_unum.c +++ b/usr/src/cmd/fm/schemes/mem/mem_unum.c @@ -244,7 +244,13 @@ mem_unum_burst_pattern(const char *pat, char ***dimmsp, size_t *ndimmsp) mem_strarray_free(dimms, ndimms); - return (fmd_fmri_set_errno(EINVAL)); + /* + * Set errno to ENOTSUP and return -1. This allows support for DIMMs + * with unknown unum strings and/or serial numbers. The only consumer + * of mem_unum_burst_pattern() that cares/checks for the returned + * errno is fmd_fmri_expand(). + */ + return (fmd_fmri_set_errno(ENOTSUP)); } int diff --git a/usr/src/uts/common/io/mem.c b/usr/src/uts/common/io/mem.c index 91b6f096ff..751e732301 100644 --- a/usr/src/uts/common/io/mem.c +++ b/usr/src/uts/common/io/mem.c @@ -629,7 +629,7 @@ mmioctl_get_mem_name(intptr_t data) if (len >= mem_name.m_namelen) { kmem_free(buf, bufsize); - return (ENAMETOOLONG); + return (ENOSPC); } if (copyoutstr(buf, (char *)mem_name.m_name, diff --git a/usr/src/uts/sun4u/io/mc-us3.c b/usr/src/uts/sun4u/io/mc-us3.c index 257534d4cc..759256a7b9 100644 --- a/usr/src/uts/sun4u/io/mc-us3.c +++ b/usr/src/uts/sun4u/io/mc-us3.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -376,7 +376,7 @@ bad1: DDI_PROP_NOTPROM | DDI_PROP_DONTPASS, MEM_CFG_PROP_NAME) == 1) { (void) ddi_prop_remove(DDI_DEV_T_NONE, softsp->dip, - MEM_CFG_PROP_NAME); + MEM_CFG_PROP_NAME); } bad2: @@ -420,7 +420,7 @@ mc_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) DDI_PROP_NOTPROM | DDI_PROP_DONTPASS, MEM_CFG_PROP_NAME) == 1) { (void) ddi_prop_remove(DDI_DEV_T_NONE, softsp->dip, - MEM_CFG_PROP_NAME); + MEM_CFG_PROP_NAME); } /* release all allocated data struture for this MC */ @@ -918,8 +918,8 @@ mc_get_mcregs(struct mc_soft_state *softsp) DDI_PROP_NOTPROM | DDI_PROP_DONTPASS, MEM_CFG_PROP_NAME) != 1) { (void) ddi_prop_create(DDI_DEV_T_NONE, softsp->dip, - DDI_PROP_CANSLEEP, MEM_CFG_PROP_NAME, - (caddr_t)&ma_reg_array, sizeof (ma_reg_array)); + DDI_PROP_CANSLEEP, MEM_CFG_PROP_NAME, + (caddr_t)&ma_reg_array, sizeof (ma_reg_array)); } exit: @@ -1223,7 +1223,7 @@ mc_get_mem_unum(int synd_code, uint64_t paddr, char *buf, int buflen, int *lenp) mutex_exit(&mcdatamutex); if ((strlen(unum) >= UNUM_NAMLEN) || (strlen(unum) >= buflen)) { - return (ENOSPC); + return (ENAMETOOLONG); } else { (void) strncpy(buf, unum, buflen); *lenp = strlen(buf); @@ -1706,7 +1706,7 @@ mlayout_add(int mc_id, int bank_no, uint64_t reg, void *dimminfop) bank_curr->seg_id = seg_curr->seg_node.id; } else { seg_curr = (struct seg_info *) - kmem_zalloc(sizeof (struct seg_info), KM_SLEEP); + kmem_zalloc(sizeof (struct seg_info), KM_SLEEP); bank_curr->seg_id = seg_id; seg_curr->seg_node.id = seg_id++; seg_curr->base = base; @@ -1924,7 +1924,7 @@ static void mc_node_add(mc_dlist_t *node, mc_dlist_t **head, mc_dlist_t **tail) { DPRINTF(MC_LIST_DEBUG, ("mc_node_add: node->id %d head %p tail %p\n", - node->id, *head, *tail)); + node->id, *head, *tail)); if (*head != NULL) { node->prev = *tail; diff --git a/usr/src/uts/sun4u/io/mc-us3i.c b/usr/src/uts/sun4u/io/mc-us3i.c index 25926c4b20..6904fb2306 100644 --- a/usr/src/uts/sun4u/io/mc-us3i.c +++ b/usr/src/uts/sun4u/io/mc-us3i.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -256,7 +256,7 @@ mc_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) (mcreg1_len == sizeof (uint64_t))) { softsp->mcr_read_ok = 1; DPRINTF(MC_ATTACH_DEBUG, ("mc%d from obp: Reg1: 0x%lx\n", - instance, softsp->mcreg1)); + instance, softsp->mcreg1)); } /* attach fails if mcreg1 cannot be accessed */ @@ -1059,8 +1059,8 @@ mc_add_xor_banks(struct mctrl_info *mctrl, } /* xor ds bits to get the dimm-pair */ id = ((xmatch & (1ULL << ds_shift)) >> ds_shift) ^ - ((xmatch & (1ULL << XOR_DEVICE_SELECT_SHIFT)) >> - XOR_DEVICE_SELECT_SHIFT); + ((xmatch & (1ULL << XOR_DEVICE_SELECT_SHIFT)) >> + XOR_DEVICE_SELECT_SHIFT); banki = mc_add_bank(bankid, mask, match | xmatch, size, mctrl->devgrpids[id]); mc_add_segment(banki); @@ -1160,7 +1160,7 @@ mc_logical_layout(struct mctrl_info *mctrl, struct mc_soft_state *softsp) bankid = mcid * NLOGBANKS_PER_MC; for (i = 0; i < mctrl->ndevgrps; i++) { bankid += mc_add_dgrp_banks(bankid, mctrl->devgrpids[i], - mask, match, interleave); + mask, match, interleave); } } @@ -1637,7 +1637,7 @@ mc_get_mem_unum(int synd_code, uint64_t paddr, char *buf, int buflen, int *lenp) UNUM_NAMLEN); DPRINTF(MC_GUNUM_DEBUG, - ("mc_get_mem_unum:unum %s\n", unum)); + ("mc_get_mem_unum:unum %s\n", unum)); /* * platform hook for adding label information to unum. @@ -1669,7 +1669,7 @@ mc_get_mem_unum(int synd_code, uint64_t paddr, char *buf, int buflen, int *lenp) mutex_exit(&mcdatamutex); if ((strlen(unum) >= UNUM_NAMLEN) || (strlen(unum) >= buflen)) { - return (ENOSPC); + return (ENAMETOOLONG); } else { (void) strncpy(buf, unum, UNUM_NAMLEN); *lenp = strlen(buf); |