caif: Fixes freeze on Link layer removal.
authorsjur.brandeland@stericsson.com <sjur.brandeland@stericsson.com>
Sun, 22 May 2011 11:18:51 +0000 (11:18 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 23 May 2011 00:11:47 +0000 (20:11 -0400)
commit54e90fb5ca8050156d3e748ddc690ed6ea9d71ac
tree63a4d1a736a7c44cc88b69e41dec9c4885ef2f74
parent0e5a117441ce245b87949cc7713627a293f37227
caif: Fixes freeze on Link layer removal.

CAIF Socket layer - caif_socket.c:
- Plug mem-leak at reconnect.
- Always call disconnect to cleanup CAIF stack.
- Disconnect will always report success.

CAIF configuration layer - cfcnfg.c
- Disconnect must dismantle the caif stack correctly
- Protect against faulty removals (check on id zero)

CAIF mux layer - cfmuxl.c
- When inserting new service layer in the MUX remove
  any old entries with the same ID.
- When removing CAIF Link layer, remove the associated
  service layers before notifying service layers.

Signed-off-by: Sjur Brændeland <sjur.brandeland@stericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/caif/caif_socket.c
net/caif/cfcnfg.c
net/caif/cfmuxl.c