Bluetooth: Add user readable debug for state changes
authorGustavo F. Padovan <padovan@profusion.mobi>
Wed, 23 Nov 2011 22:11:46 +0000 (20:11 -0200)
committerGustavo F. Padovan <padovan@profusion.mobi>
Wed, 23 Nov 2011 22:11:46 +0000 (20:11 -0200)
I did this as a part of a testing course at university, but it might be
useful upstream as well.

Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
net/bluetooth/l2cap_core.c

index bdbf919f981cfe243aa6ab5d99051c1bb386d9c1..014fdec17113c74f64272bd3d66eb10081e809ca 100644 (file)
@@ -229,8 +229,37 @@ static void l2cap_clear_timer(struct l2cap_chan *chan, struct timer_list *timer)
                chan_put(chan);
 }
 
+static char *state_to_string(int state)
+{
+       switch(state) {
+       case BT_CONNECTED:
+               return "BT_CONNECTED";
+       case BT_OPEN:
+               return "BT_OPEN";
+       case BT_BOUND:
+               return "BT_BOUND";
+       case BT_LISTEN:
+               return "BT_LISTEN";
+       case BT_CONNECT:
+               return "BT_CONNECT";
+       case BT_CONNECT2:
+               return "BT_CONNECT2";
+       case BT_CONFIG:
+               return "BT_CONFIG";
+       case BT_DISCONN:
+               return "BT_DISCONN";
+       case BT_CLOSED:
+               return "BT_CLOSED";
+       }
+
+       return "invalid state";
+}
+
 static void l2cap_state_change(struct l2cap_chan *chan, int state)
 {
+       BT_DBG("%p %s -> %s", chan, state_to_string(chan->state),
+                                               state_to_string(state));
+
        chan->state = state;
        chan->ops->state_change(chan->data, state);
 }