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 <[EMAIL PROTECTED]>


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;

_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to