From a437a03f772c6738547730c498cbf3f0a48bbdd0 Mon Sep 17 00:00:00 2001 From: eeb Date: Tue, 30 Nov 2004 17:47:03 +0000 Subject: [PATCH] * fixed 4012 (NULL pointer deref in ep_complete_rpc) --- lustre/portals/knals/qswnal/qswnal_cb.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lustre/portals/knals/qswnal/qswnal_cb.c b/lustre/portals/knals/qswnal/qswnal_cb.c index 97b5a26..92aba79 100644 --- a/lustre/portals/knals/qswnal/qswnal_cb.c +++ b/lustre/portals/knals/qswnal/qswnal_cb.c @@ -1582,11 +1582,12 @@ kqswnal_rxhandler(EP_RXD *rxd) krx->krx_state = KRX_PARSE; krx->krx_rxd = rxd; krx->krx_nob = nob; -#if MULTIRAIL_EKC - krx->krx_rpc_reply_needed = (status != EP_SHUTDOWN) && ep_rxd_isrpc(rxd); -#else - krx->krx_rpc_reply_needed = ep_rxd_isrpc(rxd); -#endif + + /* RPC reply iff rpc request received without error */ + krx->krx_rpc_reply_needed = ep_rxd_isrpc(rxd) && + (status == EP_SUCCESS || + status == EP_MSG_TOO_BIG); + /* Default to failure if an RPC reply is requested but not handled */ krx->krx_rpc_reply_status = -EPROTO; atomic_set (&krx->krx_refcount, 1); -- 1.8.3.1