Hi Ravi, On Tuesday 17 of June 2014 01:02:48 Ravi kumar Veeramally wrote: > Enums in bt_hl.h are defined in this order BTHL_CHANNEL_TYPE_RELIABLE, > BTHL_CHANNEL_TYPE_STREAMING, BTHL_CHANNEL_TYPE_ANY. But HDP_SPEC_V11(3.4) > has no-preference(any)-0, reliable-1, stream-2, reserved(0x03-0xff). > Providing utility to solve this. > --- > android/health.c | 18 +++++++++++++++++- > 1 file changed, 17 insertions(+), 1 deletion(-) > > diff --git a/android/health.c b/android/health.c > index 7e2c5d6..5a87089 100644 > --- a/android/health.c > +++ b/android/health.c > @@ -52,6 +52,10 @@ > #define HDP_VERSION 0x0101 > #define DATA_EXCHANGE_SPEC_11073 0x01 > > +#define CHANNEL_TYPE_ANY 0x00 > +#define CHANNEL_TYPE_RELIABLE 0x01 > +#define CHANNEL_TYPE_STREAM 0x02 > + Isn't that already defined in hdp_types.h ? > static bdaddr_t adapter_addr; > static struct ipc *hal_ipc = NULL; > static struct queue *apps = NULL; > @@ -639,6 +643,18 @@ fail: > HAL_STATUS_FAILED); > } > > +static uint8_t android2channel_type(uint8_t type) > +{ > + switch (type) { > + case HAL_HEALTH_CHANNEL_TYPE_RELIABLE: > + return CHANNEL_TYPE_RELIABLE; > + case HAL_HEALTH_CHANNEL_TYPE_STREAMING: > + return CHANNEL_TYPE_STREAM; > + } > + > + return CHANNEL_TYPE_ANY; Move this under default case. > +} > + > static void bt_health_mdep_cfg_data(const void *buf, uint16_t len) > { > const struct hal_cmd_health_mdep *cmd = buf; > @@ -662,7 +678,7 @@ static void bt_health_mdep_cfg_data(const void *buf, uint16_t len) > > mdep->role = cmd->role; > mdep->data_type = cmd->data_type; > - mdep->channel_type = cmd->channel_type; > + mdep->channel_type = android2channel_type(cmd->channel_type); > mdep->id = queue_length(app->mdeps) + 1; > > if (cmd->descr_len > 0) { > -- Best regards, Szymon Janc -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html