OSDN Git Service

core: Fix passing timeout when disabling discoverable mode
authorJohan Hedberg <johan.hedberg@intel.com>
Fri, 20 Sep 2013 16:17:34 +0000 (11:17 -0500)
committerJohan Hedberg <johan.hedberg@intel.com>
Fri, 20 Sep 2013 16:17:59 +0000 (11:17 -0500)
We should only pass a timeout value when enabling discoverable mode.
When disabling passing something non-zero would yield a "invalid
parameters" error.

src/adapter.c

index 17f5508..5434a07 100644 (file)
@@ -1890,7 +1890,8 @@ static void property_set_mode(struct btd_adapter *adapter, uint32_t setting,
        case MGMT_SETTING_DISCOVERABLE:
                memset(&cp, 0, sizeof(cp));
                cp.val = mode;
-               cp.timeout = htobs(adapter->discoverable_timeout);
+               if (cp.val)
+                       cp.timeout = htobs(adapter->discoverable_timeout);
 
                opcode = MGMT_OP_SET_DISCOVERABLE;
                param = &cp;