OSDN Git Service

tools/l2test: Fix setopts and getopts functions
authorLukasz Rymanowski <lukasz.rymanowski@tieto.com>
Mon, 16 Jun 2014 22:29:57 +0000 (00:29 +0200)
committerJohan Hedberg <johan.hedberg@intel.com>
Tue, 17 Jun 2014 09:15:07 +0000 (12:15 +0300)
Level SOL_L2CAP with optname L2CAP_OPTIONS is supported only for BR/EDR
Since bdaddr_type is set to BDADDR_BREDR by default, there is no sense
to check also CID.

This fix le connect which now fails when trying to connect ATT CID on LE
transport.

tools/l2test.c

index c70bac0..ffad7c4 100644 (file)
@@ -271,7 +271,7 @@ static int getopts(int sk, struct l2cap_options *opts, bool connected)
 
        memset(opts, 0, sizeof(*opts));
 
-       if (bdaddr_type == BDADDR_BREDR || cid) {
+       if (bdaddr_type == BDADDR_BREDR) {
                optlen = sizeof(*opts);
                return getsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, opts, &optlen);
        }
@@ -287,7 +287,7 @@ static int getopts(int sk, struct l2cap_options *opts, bool connected)
 
 static int setopts(int sk, struct l2cap_options *opts)
 {
-       if (bdaddr_type == BDADDR_BREDR || cid)
+       if (bdaddr_type == BDADDR_BREDR)
                return setsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, opts,
                                                                sizeof(*opts));