2014-11-21 09:48:50

by Andrei Emeltchenko

[permalink] [raw]
Subject: [PATCH] android/hidhost: Fix logical vs bitwise operation

From: Andrei Emeltchenko <[email protected]>

"buf[0] & !1" is always 0, should be bitwise operation.
---
android/hidhost.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/android/hidhost.c b/android/hidhost.c
index 75e895b..b696563 100644
--- a/android/hidhost.c
+++ b/android/hidhost.c
@@ -465,7 +465,7 @@ static gboolean ctrl_io_watch_cb(GIOChannel *chan, gpointer data)
bt_hid_notify_handshake(dev, buf, bread);
break;
case HID_MSG_CONTROL:
- if ((buf[0] & !HID_MSG_TYPE_MASK) == HID_VIRTUAL_CABLE_UNPLUG)
+ if ((buf[0] & ~HID_MSG_TYPE_MASK) == HID_VIRTUAL_CABLE_UNPLUG)
bt_hid_notify_virtual_unplug(dev, buf, bread);
break;
default:
--
1.9.1



2014-11-24 13:43:56

by Szymon Janc

[permalink] [raw]
Subject: Re: [PATCH] android/hidhost: Fix logical vs bitwise operation

Hi Andrei,

On Friday 21 of November 2014 11:48:50 Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <[email protected]>
>
> "buf[0] & !1" is always 0, should be bitwise operation.
> ---
> android/hidhost.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/android/hidhost.c b/android/hidhost.c
> index 75e895b..b696563 100644
> --- a/android/hidhost.c
> +++ b/android/hidhost.c
> @@ -465,7 +465,7 @@ static gboolean ctrl_io_watch_cb(GIOChannel *chan,
> gpointer data) bt_hid_notify_handshake(dev, buf, bread);
> break;
> case HID_MSG_CONTROL:
> - if ((buf[0] & !HID_MSG_TYPE_MASK) == HID_VIRTUAL_CABLE_UNPLUG)
> + if ((buf[0] & ~HID_MSG_TYPE_MASK) == HID_VIRTUAL_CABLE_UNPLUG)
> bt_hid_notify_virtual_unplug(dev, buf, bread);
> break;
> default:

Applied, thanks.

--
BR
Szymon Janc