From: Ravi Kumar Veeramally <ravikumar.veeramally@linux.intel.com>
To: linux-bluetooth@vger.kernel.org
Subject: Re: [PATCH 2/5] android/hal-pan: Return error in case of unsupported PAN roles
Date: Tue, 19 Nov 2013 15:51:54 +0200 [thread overview]
Message-ID: <528B6CFA.5080304@linux.intel.com> (raw)
In-Reply-To: <20131119132753.GB30863@x220.p-661hnu-f1>
On 11/19/2013 03:27 PM, Johan Hedberg wrote:
> Hi Ravi,
>
> On Tue, Nov 19, 2013, Ravi kumar Veeramally wrote:
>> ---
>> android/hal-pan.c | 11 +++++++++++
>> 1 file changed, 11 insertions(+)
>>
>> diff --git a/android/hal-pan.c b/android/hal-pan.c
>> index 2bc560e..30facd4 100644
>> --- a/android/hal-pan.c
>> +++ b/android/hal-pan.c
>> @@ -77,6 +77,9 @@ 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,
>> @@ -112,6 +115,14 @@ static bt_status_t pan_connect(const bt_bdaddr_t *bd_addr, int local_role,
>> if (!interface_ready())
>> return BT_STATUS_NOT_READY;
>>
>> + if (!((local_role == BTPAN_ROLE_PANNAP &&
>> + remote_role == BTPAN_ROLE_PANU) ||
>> + (local_role == BTPAN_ROLE_PANU &&
>> + remote_role == BTPAN_ROLE_PANNAP) ||
>> + (local_role == BTPAN_ROLE_PANU &&
>> + remote_role == BTPAN_ROLE_PANU)))
>> + return BT_STATUS_UNSUPPORTED;
> First of all you've got incorrect indentation here which make this hard
> to read (the return statement being on the same column as parts of the
> if-statement. When you break lines indent at least by two tabs to make
> a clear separation from the actual branch code.
Ok.
>
> Secondly, shouldn't we be checking that the given local role has been
> enabled (through pan_enable)? Or does the daemon do that checking? In
> fact is there a clear reason not to let the daemon do all the
> verification checks and return an error status over IPC?
I thought it would be easier to do basic checks on supported combinations
at HAL level to reduce the ipc traffic.
I don't know exactly whether UI can send these combinations, but we
can at least
try with haltest tool.
>
> Thirdly, this if-statement takes a while to parse, so I'm wondering
> whether it'd be clearer to format it in a bit more readable way, e.g.:
>
> switch (local_role) {
> case BTPAN_ROLE_PANNAP:
> if (remote_role != BTPAN_ROLE_PANU)
> return BT_STATUS_UNSUPPORTED;
> break;
> case BTPAN_ROLE_PANU:
> if (remote_role != BTPAN_ROLE_PANNAP &&
> remote_role != BTPAN_ROLE_PANU)
> return BT_STATUS_UNSUPPORTED;
> break;
> default:
> return BT_STATUS_UNSUPPORTED;
> }
>
> Thoughts?
Yes, make sense to use 'switch' for more readability.
Is it ok to send _v2 with switch or better to handle in daemon?
Thanks,
Ravi.
next prev parent reply other threads:[~2013-11-19 13:51 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-19 12:21 [PATCH 1/5] android/pan: Fix wrong struct parameter in disconnect function call Ravi kumar Veeramally
2013-11-19 12:21 ` [PATCH 2/5] android/hal-pan: Return error in case of unsupported PAN roles Ravi kumar Veeramally
2013-11-19 13:27 ` Johan Hedberg
2013-11-19 13:51 ` Ravi Kumar Veeramally [this message]
2013-11-19 12:21 ` [PATCH 3/5] android: Handle multiple init(register) and cleanup(unregister) calls properly Ravi kumar Veeramally
2013-11-19 13:30 ` Johan Hedberg
2013-11-19 13:52 ` Ravi Kumar Veeramally
2013-11-19 12:21 ` [PATCH 4/5] android/hidhost: Handle error case properly in interrupt_connect_cb Ravi kumar Veeramally
2013-11-19 13:31 ` Johan Hedberg
2013-11-19 13:53 ` Ravi Kumar Veeramally
2013-11-19 12:21 ` [PATCH 5/5] android/hidhost: Free all connected devices in profile cleanup call Ravi kumar Veeramally
2013-11-19 13:35 ` Johan Hedberg
2013-11-19 13:55 ` Ravi Kumar Veeramally
2013-11-19 13:23 ` [PATCH 1/5] android/pan: Fix wrong struct parameter in disconnect function call Johan Hedberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=528B6CFA.5080304@linux.intel.com \
--to=ravikumar.veeramally@linux.intel.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).