Print this page
6659 nvlist_free(NULL) is a no-op


 508                 /*
 509                  * The page has been retired, is in the process of being
 510                  * retired, or doesn't exist.  The latter is valid if the page
 511                  * existed in the past but has been DR'd out.
 512                  */
 513                 retval = 1;
 514         } else {
 515                 /*
 516                  * Errors are only signalled to the caller if they're the
 517                  * caller's fault.  This isn't - it's a failure of the
 518                  * retirement-check code.  We'll whine about it and tell
 519                  * the caller the page is unusable.
 520                  */
 521                 fmd_fmri_warn("failed to determine page %s=%llx usability: "
 522                     "rc=%d errno=%d\n", err1 == 0 ? FM_FMRI_MEM_OFFSET :
 523                     FM_FMRI_MEM_PHYSADDR, err1 == 0 ? (u_longlong_t)val1 :
 524                     (u_longlong_t)val2, rc, errno);
 525                 retval = 1;
 526         }
 527 
 528         if (nvlcp)
 529                 nvlist_free(nvlcp);
 530 
 531         return (retval);
 532 }
 533 
 534 int
 535 fmd_fmri_init(void)
 536 {
 537         return (mem_discover());
 538 }
 539 
 540 void
 541 fmd_fmri_fini(void)
 542 {
 543         mem_dimm_map_t *dm, *em;
 544         mem_bank_map_t *bm, *cm;
 545         mem_grp_t *gm, *hm;
 546         mem_seg_map_t *sm, *tm;
 547 
 548         for (dm = mem.mem_dm; dm != NULL; dm = em) {


 508                 /*
 509                  * The page has been retired, is in the process of being
 510                  * retired, or doesn't exist.  The latter is valid if the page
 511                  * existed in the past but has been DR'd out.
 512                  */
 513                 retval = 1;
 514         } else {
 515                 /*
 516                  * Errors are only signalled to the caller if they're the
 517                  * caller's fault.  This isn't - it's a failure of the
 518                  * retirement-check code.  We'll whine about it and tell
 519                  * the caller the page is unusable.
 520                  */
 521                 fmd_fmri_warn("failed to determine page %s=%llx usability: "
 522                     "rc=%d errno=%d\n", err1 == 0 ? FM_FMRI_MEM_OFFSET :
 523                     FM_FMRI_MEM_PHYSADDR, err1 == 0 ? (u_longlong_t)val1 :
 524                     (u_longlong_t)val2, rc, errno);
 525                 retval = 1;
 526         }
 527 

 528         nvlist_free(nvlcp);
 529 
 530         return (retval);
 531 }
 532 
 533 int
 534 fmd_fmri_init(void)
 535 {
 536         return (mem_discover());
 537 }
 538 
 539 void
 540 fmd_fmri_fini(void)
 541 {
 542         mem_dimm_map_t *dm, *em;
 543         mem_bank_map_t *bm, *cm;
 544         mem_grp_t *gm, *hm;
 545         mem_seg_map_t *sm, *tm;
 546 
 547         for (dm = mem.mem_dm; dm != NULL; dm = em) {