* [PATCH 1/2] Bluetooth: Remove unneeded val variable when setting SSP
@ 2013-10-10 10:08 Marcel Holtmann
2013-10-10 10:56 ` Johan Hedberg
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Marcel Holtmann @ 2013-10-10 10:08 UTC (permalink / raw)
To: linux-bluetooth
The variable val in the set_ssp() function of the management interface
is not needed. Just use cp->val directly since its input values have
already been validated.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
---
net/bluetooth/mgmt.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index a9d7506..2fb4d35 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -1290,7 +1290,7 @@ static int set_ssp(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
{
struct mgmt_mode *cp = data;
struct pending_cmd *cmd;
- u8 val, status;
+ u8 status;
int err;
BT_DBG("request for %s", hdev->name);
@@ -1309,8 +1309,6 @@ static int set_ssp(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
hci_dev_lock(hdev);
- val = !!cp->val;
-
if (!hdev_is_powered(hdev)) {
bool changed = false;
@@ -1335,7 +1333,7 @@ static int set_ssp(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
goto failed;
}
- if (test_bit(HCI_SSP_ENABLED, &hdev->dev_flags) == val) {
+ if (!!cp->val == test_bit(HCI_SSP_ENABLED, &hdev->dev_flags)) {
err = send_settings_rsp(sk, MGMT_OP_SET_SSP, hdev);
goto failed;
}
@@ -1346,7 +1344,7 @@ static int set_ssp(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
goto failed;
}
- err = hci_send_cmd(hdev, HCI_OP_WRITE_SSP_MODE, sizeof(val), &val);
+ err = hci_send_cmd(hdev, HCI_OP_WRITE_SSP_MODE, 1, &cp->val);
if (err < 0) {
mgmt_pending_remove(cmd);
goto failed;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH 1/2] Bluetooth: Remove unneeded val variable when setting SSP
2013-10-10 10:08 [PATCH 1/2] Bluetooth: Remove unneeded val variable when setting SSP Marcel Holtmann
@ 2013-10-10 10:56 ` Johan Hedberg
2013-10-10 11:00 ` Anderson Lizardo
2013-10-10 11:01 ` Andrei Emeltchenko
2 siblings, 0 replies; 6+ messages in thread
From: Johan Hedberg @ 2013-10-10 10:56 UTC (permalink / raw)
To: Marcel Holtmann; +Cc: linux-bluetooth
Hi Marcel,
On Thu, Oct 10, 2013, Marcel Holtmann wrote:
> The variable val in the set_ssp() function of the management interface
> is not needed. Just use cp->val directly since its input values have
> already been validated.
>
> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
> ---
> net/bluetooth/mgmt.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
Both patches have been applied to bluetooth-next. Thanks.
Johan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] Bluetooth: Remove unneeded val variable when setting SSP
2013-10-10 10:08 [PATCH 1/2] Bluetooth: Remove unneeded val variable when setting SSP Marcel Holtmann
2013-10-10 10:56 ` Johan Hedberg
@ 2013-10-10 11:00 ` Anderson Lizardo
2013-10-10 11:06 ` Marcel Holtmann
2013-10-10 11:01 ` Andrei Emeltchenko
2 siblings, 1 reply; 6+ messages in thread
From: Anderson Lizardo @ 2013-10-10 11:00 UTC (permalink / raw)
To: Marcel Holtmann; +Cc: BlueZ development
Hi Marcel,
On Thu, Oct 10, 2013 at 6:08 AM, Marcel Holtmann <marcel@holtmann.org> wrote:
> The variable val in the set_ssp() function of the management interface
> is not needed. Just use cp->val directly since its input values have
> already been validated.
> [...]
> - if (test_bit(HCI_SSP_ENABLED, &hdev->dev_flags) == val) {
> + if (!!cp->val == test_bit(HCI_SSP_ENABLED, &hdev->dev_flags)) {
In this case, the "!!" trick is unnecessary as the only allowed values
are 0x00 and 0x01 (I believe this has been removed in other similar
cases).
Best Regards,
--
Anderson Lizardo
Instituto Nokia de Tecnologia - INdT
Manaus - Brazil
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH 1/2] Bluetooth: Remove unneeded val variable when setting SSP
2013-10-10 11:00 ` Anderson Lizardo
@ 2013-10-10 11:06 ` Marcel Holtmann
0 siblings, 0 replies; 6+ messages in thread
From: Marcel Holtmann @ 2013-10-10 11:06 UTC (permalink / raw)
To: Anderson Lizardo; +Cc: BlueZ development
Hi Anderson,
>> The variable val in the set_ssp() function of the management interface
>> is not needed. Just use cp->val directly since its input values have
>> already been validated.
>> [...]
>> - if (test_bit(HCI_SSP_ENABLED, &hdev->dev_flags) == val) {
>> + if (!!cp->val == test_bit(HCI_SSP_ENABLED, &hdev->dev_flags)) {
>
> In this case, the "!!" trick is unnecessary as the only allowed values
> are 0x00 and 0x01 (I believe this has been removed in other similar
> cases).
it has not been removed. That is why I changed it and made it similar to the other case.
Regards
Marcel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] Bluetooth: Remove unneeded val variable when setting SSP
2013-10-10 10:08 [PATCH 1/2] Bluetooth: Remove unneeded val variable when setting SSP Marcel Holtmann
2013-10-10 10:56 ` Johan Hedberg
2013-10-10 11:00 ` Anderson Lizardo
@ 2013-10-10 11:01 ` Andrei Emeltchenko
2013-10-10 11:07 ` Marcel Holtmann
2 siblings, 1 reply; 6+ messages in thread
From: Andrei Emeltchenko @ 2013-10-10 11:01 UTC (permalink / raw)
To: Marcel Holtmann; +Cc: linux-bluetooth
Hi Marcel,
On Thu, Oct 10, 2013 at 03:08:10AM -0700, Marcel Holtmann wrote:
> The variable val in the set_ssp() function of the management interface
> is not needed. Just use cp->val directly since its input values have
> already been validated.
>
> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
> ---
> net/bluetooth/mgmt.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
> index a9d7506..2fb4d35 100644
> --- a/net/bluetooth/mgmt.c
> +++ b/net/bluetooth/mgmt.c
> @@ -1290,7 +1290,7 @@ static int set_ssp(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
> {
> struct mgmt_mode *cp = data;
> struct pending_cmd *cmd;
> - u8 val, status;
> + u8 status;
> int err;
>
> BT_DBG("request for %s", hdev->name);
> @@ -1309,8 +1309,6 @@ static int set_ssp(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
>
> hci_dev_lock(hdev);
>
> - val = !!cp->val;
> -
> if (!hdev_is_powered(hdev)) {
> bool changed = false;
>
> @@ -1335,7 +1333,7 @@ static int set_ssp(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
> goto failed;
> }
>
> - if (test_bit(HCI_SSP_ENABLED, &hdev->dev_flags) == val) {
> + if (!!cp->val == test_bit(HCI_SSP_ENABLED, &hdev->dev_flags)) {
> err = send_settings_rsp(sk, MGMT_OP_SET_SSP, hdev);
> goto failed;
> }
> @@ -1346,7 +1344,7 @@ static int set_ssp(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
> goto failed;
> }
>
> - err = hci_send_cmd(hdev, HCI_OP_WRITE_SSP_MODE, sizeof(val), &val);
> + err = hci_send_cmd(hdev, HCI_OP_WRITE_SSP_MODE, 1, &cp->val);
I think sizeof is read better then magic number
Best regards
Andrei Emeltchenko
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH 1/2] Bluetooth: Remove unneeded val variable when setting SSP
2013-10-10 11:01 ` Andrei Emeltchenko
@ 2013-10-10 11:07 ` Marcel Holtmann
0 siblings, 0 replies; 6+ messages in thread
From: Marcel Holtmann @ 2013-10-10 11:07 UTC (permalink / raw)
To: Andrei Emeltchenko; +Cc: linux-bluetooth
Hi Andrei,
>> The variable val in the set_ssp() function of the management interface
>> is not needed. Just use cp->val directly since its input values have
>> already been validated.
>>
>> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
>> ---
>> net/bluetooth/mgmt.c | 8 +++-----
>> 1 file changed, 3 insertions(+), 5 deletions(-)
>>
>> diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
>> index a9d7506..2fb4d35 100644
>> --- a/net/bluetooth/mgmt.c
>> +++ b/net/bluetooth/mgmt.c
>> @@ -1290,7 +1290,7 @@ static int set_ssp(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
>> {
>> struct mgmt_mode *cp = data;
>> struct pending_cmd *cmd;
>> - u8 val, status;
>> + u8 status;
>> int err;
>>
>> BT_DBG("request for %s", hdev->name);
>> @@ -1309,8 +1309,6 @@ static int set_ssp(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
>>
>> hci_dev_lock(hdev);
>>
>> - val = !!cp->val;
>> -
>> if (!hdev_is_powered(hdev)) {
>> bool changed = false;
>>
>> @@ -1335,7 +1333,7 @@ static int set_ssp(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
>> goto failed;
>> }
>>
>> - if (test_bit(HCI_SSP_ENABLED, &hdev->dev_flags) == val) {
>> + if (!!cp->val == test_bit(HCI_SSP_ENABLED, &hdev->dev_flags)) {
>> err = send_settings_rsp(sk, MGMT_OP_SET_SSP, hdev);
>> goto failed;
>> }
>> @@ -1346,7 +1344,7 @@ static int set_ssp(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
>> goto failed;
>> }
>>
>> - err = hci_send_cmd(hdev, HCI_OP_WRITE_SSP_MODE, sizeof(val), &val);
>> + err = hci_send_cmd(hdev, HCI_OP_WRITE_SSP_MODE, 1, &cp->val);
>
> I think sizeof is read better then magic number
if you look at the whole code base, for cases of single u8, we use the "magic" number 1 a lot to keep the lines shorter.
Regards
Marcel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-10-10 11:07 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-10 10:08 [PATCH 1/2] Bluetooth: Remove unneeded val variable when setting SSP Marcel Holtmann
2013-10-10 10:56 ` Johan Hedberg
2013-10-10 11:00 ` Anderson Lizardo
2013-10-10 11:06 ` Marcel Holtmann
2013-10-10 11:01 ` Andrei Emeltchenko
2013-10-10 11:07 ` Marcel Holtmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox