On Thu, Feb 23, 2012 at 11:55 AM, Steve Wise
<[email protected]> wrote:
> RIP: 0010:[<0000000000200200>]  [<0000000000200200>]

0x200200 is LIST_POISON2, which is set when something is removed
from a Linux list.

>  [<ffffffff8008c846>] __wake_up_common+0x3e/0x68
>  [<ffffffff8002e261>] __wake_up+0x38/0x4f
>  [<ffffffff8867410b>] :iw_cm:iw_cm_reject+0x5a/0xa7

So in the code

       if (cm_id_priv->state != IW_CM_STATE_CONN_RECV) {
               spin_unlock_irqrestore(&cm_id_priv->lock, flags);
               clear_bit(IWCM_F_CONNECT_WAIT, &cm_id_priv->flags);
               wake_up_all(&cm_id_priv->connect_wait);
               return -EINVAL;
       }

the cm_id_priv->connect_wait is being corrupted before
or during the call to wake_up_all...

could the HW or low-level driver be generating events for
the incoming connections that are associated with the
listen ID, as the listen ID is being destroyed?

Maybe that's why the code silently ignored these requests
before :)

 - R.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to