Diff between c64fd37802d3609522d8121a21126ea797bf4e23 and eb907a19b9d3e69e8e940d9e4e6a47de5d6f9647
Changed Files
| File | Additions | Deletions | Status |
| src/shared/hciemu.c | +8 | -2 | modified |
Full Patch
diff --git a/src/shared/hciemu.c b/src/shared/hciemu.c
index af8007c..90c21f3 100644
--- a/src/shared/hciemu.c
+++ b/src/shared/hciemu.c
@@ -162,10 +162,16 @@ static gboolean receive_btdev(GIOChannel *channel, GIOCondition condition,
fd = g_io_channel_unix_get_fd(channel);
len = read(fd, buf, sizeof(buf));
- if (len < 0)
+ if (len < 1)
return FALSE;
- btdev_receive_h4(btdev, buf, len);
+ switch (buf[0]) {
+ case BT_H4_CMD_PKT:
+ case BT_H4_ACL_PKT:
+ case BT_H4_SCO_PKT:
+ btdev_receive_h4(btdev, buf, len);
+ break;
+ }
return TRUE;
}