[openib-general] [PATCH] [IWARP BRANCH] - hang on reset from client
Steve Wise
swise at opengridcomputing.com
Fri Dec 16 09:00:06 PST 2005
The c2 provider was not caching the iw cm_id in the qp for the passive
side connection. This causes an OOPS in the interrupt path when a RST
is received on the passive side.
Signed-off-by: Steve Wise <swise at opengridcomputing.com>
Index: c2_provider.c
===================================================================
--- c2_provider.c (revision 4497)
+++ c2_provider.c (working copy)
@@ -583,9 +583,13 @@
static int c2_accept(struct iw_cm_id* cm_id, const void *pdata, u8 pdata_len)
{
int err;
+ struct c2_qp* qp = container_of(cm_id->qp, struct c2_qp, ibqp);
dprintk("%s:%s:%u\n", __FILE__, __FUNCTION__, __LINE__);
+ /* Cache the cm_id in the qp */
+ qp->cm_id = cm_id;
+
err = c2_llp_accept(cm_id, pdata, pdata_len);
return err;
More information about the general
mailing list