This patch fixes the following problems: - Problem with the Memory Channel API whereby the function imc_asalloc did not allow a negative key (most significant bit of key being set). - Problem that caused mcm_init to core dump when resolver fails on system boot. - Fixes a problem in which a resolver failure produces an unhelpful error message from mcm_init on boot. - Fixes a problem with the Memory Channel API whereby the function imc_ckerrcnt was signifying an error had occured when in fact no error had occurred. The following is the error code seen when running an MPI code: [5]MPI Die-ump2chck.c 91 "ump_wait failure" (-16) - Fixes a problem that can cause a panic in mcs_wait_cluster_event() when using the Memory Channel API. This patch fixes a problem with the Memory Channel API whereby a node crashes holding an mc-api lock, under certain circumstances the lock will not be released after the node crashes.