summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Tyszkowski <jakub.tyszkowski@tieto.com>2013-12-05 11:37:16 +0100
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2013-12-08 17:47:42 +0200
commit314f4ee30467728107dabbcd6059b2dfc6eb455b (patch)
tree6ce099ddc1f00c6ba23b88582f5b10886434c91b
parent2a4b5e91c5e4b963a95d56a45d21d67a298b8c44 (diff)
downloadbluez-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.c3
-rw-r--r--android/pan.c16
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)