diff --git a/lnet/ChangeLog b/lnet/ChangeLog
index 7fb80a939264b9d1f48a932761f80110decb23fa..f304e97bb9588a12648a7bd5247e00910d5c8d05 100644
--- a/lnet/ChangeLog
+++ b/lnet/ChangeLog
@@ -28,6 +28,11 @@
 	ptllnd    - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
        * bug fixes
 
+Severity   : minor
+Frequency  : 'lctl peer_list' issued on a mx net
+Bugzilla   : 12237
+Description: Enable lctl's peer_list for MXLND
+
 Severity   : major
 Frequency  : after Ptllnd timeouts and portals congestion
 Bugzilla   : 11659
diff --git a/lnet/klnds/mxlnd/mxlnd.c b/lnet/klnds/mxlnd/mxlnd.c
index bb6991d1b7ab72fc5999ea762a8bd9f11060e693..d4287ba2be004b7b3a8d28cd95d6153b07c67171 100644
--- a/lnet/klnds/mxlnd/mxlnd.c
+++ b/lnet/klnds/mxlnd/mxlnd.c
@@ -579,7 +579,7 @@ mxlnd_init_mx(lnet_ni_t *ni)
                 mx_finalize();
                 return -1;
         }
-        mxret = mx_set_request_timeout(kmxlnd_data.kmx_endpt, NULL, MXLND_COMM_TIMEOUT/HZ);
+        mxret = mx_set_request_timeout(kmxlnd_data.kmx_endpt, NULL, MXLND_COMM_TIMEOUT/HZ*1000);
         if (mxret != MX_SUCCESS) {
                 CERROR("mx_set_request_timeout() failed with %s\n", 
                         mx_strerror(mxret));
diff --git a/lnet/klnds/mxlnd/mxlnd_cb.c b/lnet/klnds/mxlnd/mxlnd_cb.c
index 09d0c0b18aaac33e5133faa37c9abe72ecf4a2aa..31e0a486d3dd397f50453af27836f52a0306b088 100644
--- a/lnet/klnds/mxlnd/mxlnd_cb.c
+++ b/lnet/klnds/mxlnd/mxlnd_cb.c
@@ -1087,6 +1087,7 @@ int
 mxlnd_get_peer_info(int index, lnet_nid_t *nidp, int *count)
 {
         int                      i      = 0;
+        int                      ret    = -ENOENT;
         struct kmx_peer         *peer   = NULL;
         struct kmx_conn         *conn   = NULL;
 
@@ -1099,11 +1100,13 @@ mxlnd_get_peer_info(int index, lnet_nid_t *nidp, int *count)
 
                         *nidp = peer->mxp_nid;
                         *count = atomic_read(&peer->mxp_refcount);
+                        ret = 0;
+                        break;
                 }
         }
         read_unlock(&kmxlnd_data.kmx_peers_lock);
         
-        return -ENOENT;
+        return ret;
 }
 
 void
diff --git a/lnet/utils/portals.c b/lnet/utils/portals.c
index 10b2014f957609326b22b3c4527f9ba78f98841a..cefb095b24ab460e39b1c662c96eb926d5d1fa61 100644
--- a/lnet/utils/portals.c
+++ b/lnet/utils/portals.c
@@ -570,7 +570,7 @@ jt_ptl_print_peers (int argc, char **argv)
         int                      index;
         int                      rc;
 
-        if (!g_net_is_compatible (argv[0], SOCKLND, RALND, PTLLND,
+        if (!g_net_is_compatible (argv[0], SOCKLND, RALND, PTLLND, MXLND,
                                   OPENIBLND, CIBLND, IIBLND, VIBLND, O2IBLND, 0))
                 return -1;