Hi Lizardo, * Anderson Lizardo <anderson.lizardo@xxxxxxxxxxxxx> [2011-04-04 16:50:13 -0400]: > Hi Gustavo, > > (patch too big for me to review properly...) > > On Fri, Apr 1, 2011 at 6:33 PM, Gustavo F. Padovan > <padovan@xxxxxxxxxxxxxx> wrote: > > static void l2cap_retrans_timeout(unsigned long arg) > > { > > - struct sock *sk = (void *) arg; > > + struct l2cap_chan *chan = (void *) arg; > > + struct sock *sk = chan->sk; > > > > BT_DBG("sk %p", sk); > > > > @@ -978,9 +983,9 @@ static void l2cap_retrans_timeout(unsigned long arg) > > l2cap_pi(sk)->retry_count = 1; > > __mod_monitor_timer(); > > > > - l2cap_pi(sk)->conn_state |= L2CAP_CONN_WAIT_F; > > + chan->conn_state |= L2CAP_CONN_WAIT_F; > > I suppose the above requires a lock ? It has one, the socket lock. It's completely safe use it here. > > In general it seems that by creating the additional "l2cap_chan" > layer, all lock usages need to be reviewed (IMHO). Yes, that will be done in an next step. I'm going to remove any sock reference from l2cap_core.c, so a new locking system will be needed. -- Gustavo F. Padovan http://profusion.mobi -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html