diff options
author | Jakub Tyszkowski <jakub.tyszkowski@tieto.com> | 2013-12-05 11:37:16 +0100 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2013-12-08 17:47:42 +0200 |
commit | 314f4ee30467728107dabbcd6059b2dfc6eb455b (patch) | |
tree | 6ce099ddc1f00c6ba23b88582f5b10886434c91b | |
parent | 2a4b5e91c5e4b963a95d56a45d21d67a298b8c44 (diff) | |
download | bluez-314f4ee30467728107dabbcd6059b2dfc6eb455b.tar.gz |
android/pan: Move logic from HAL layer to daemon
HAL should contain as little logic as possible, but we should be doing
these checks on daemon side anyway.
-rw-r--r-- | android/hal-pan.c | 3 | ||||
-rw-r--r-- | android/pan.c | 16 |
2 files changed, 14 insertions, 5 deletions
diff --git a/android/hal-pan.c b/android/hal-pan.c index 6aaf8af2c..ec52672ac 100644 --- a/android/hal-pan.c +++ b/android/hal-pan.c @@ -74,9 +74,6 @@ static bt_status_t pan_enable(int local_role) if (!interface_ready()) return BT_STATUS_NOT_READY; - if (!(local_role == BTPAN_ROLE_PANU || local_role == BTPAN_ROLE_PANNAP)) - return BT_STATUS_UNSUPPORTED; - cmd.local_role = local_role; return hal_ipc_cmd(HAL_SERVICE_ID_PAN, HAL_OP_PAN_ENABLE, diff --git a/android/pan.c b/android/pan.c index 26c28a253..d2be50ad8 100644 --- a/android/pan.c +++ b/android/pan.c @@ -282,9 +282,21 @@ failed: static void bt_pan_enable(const void *buf, uint16_t len) { - DBG("Not Implemented"); + const struct hal_cmd_pan_enable *cmd = buf; + uint8_t status; + + switch (cmd->local_role) { + case HAL_PAN_ROLE_PANU: + case HAL_PAN_ROLE_NAP: + DBG("Not Implemented"); + status = HAL_STATUS_FAILED; + break; + default: + status = HAL_STATUS_UNSUPPORTED; + break; + } - ipc_send_rsp(HAL_SERVICE_ID_PAN, HAL_OP_PAN_ENABLE, HAL_STATUS_FAILED); + ipc_send_rsp(HAL_SERVICE_ID_PAN, HAL_OP_PAN_ENABLE, status); } static void bt_pan_get_role(const void *buf, uint16_t len) |