Hi Daryl, > the correct approach seems to be: > > sk->sk_zapped = 1; > rfcomm_sock_kill(sk); > > The problem is that rfcomm_sock_kill() must be called on an unlocked > socket and I think that we will deadlock on a SMP machine or get some > NULL pointer dereferences. after more and more thinking about that problem I am almost sure that it is right to call rfcomm_sock_kill() in the state change function. Anyway we must do this on an unlocked socket. Here is my proposal for the final patch, but we need real testing on this so that I can be sure that there are no side effects. Can anyone test it on SMP or HT systems? Regards Marcel