From: Andrei Emeltchenko Date: Mon, 12 Mar 2012 10:13:07 +0000 (+0200) Subject: Bluetooth: Correct length calc in L2CAP conf rsp X-Git-Tag: next-20120402~35^2~41 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=bbb4e8734a9776c51b50e1f0bd8a8b1b23a3a7bf;p=karo-tx-linux.git Bluetooth: Correct length calc in L2CAP conf rsp cmd->len is in le format so convert it to host format before use. Signed-off-by: Andrei Emeltchenko Acked-by: Marcel Holtmann Signed-off-by: Johan Hedberg --- diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index 0eca14d9c616..85c3404fcedd 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -2955,14 +2955,14 @@ static inline int l2cap_config_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr struct l2cap_conf_rsp *rsp = (struct l2cap_conf_rsp *)data; u16 scid, flags, result; struct l2cap_chan *chan; - int len = cmd->len - sizeof(*rsp); + int len = le16_to_cpu(cmd->len) - sizeof(*rsp); scid = __le16_to_cpu(rsp->scid); flags = __le16_to_cpu(rsp->flags); result = __le16_to_cpu(rsp->result); - BT_DBG("scid 0x%4.4x flags 0x%2.2x result 0x%2.2x", - scid, flags, result); + BT_DBG("scid 0x%4.4x flags 0x%2.2x result 0x%2.2x len %d", + scid, flags, result, len); chan = l2cap_get_chan_by_scid(conn, scid); if (!chan)