diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2013-09-12 17:42:36 +0300 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2013-09-12 17:43:20 +0300 |
commit | dda571b9192125804f288d29d488e930c590edde (patch) | |
tree | baf38f342f70d1ea56c572f55acd72be1c17fc15 | |
parent | 5c6eb25dfd56ca4c97d98b32cb5de4a6788bffa9 (diff) | |
download | bluez-dda571b9192125804f288d29d488e930c590edde.tar.gz |
shared/hciemu: Fix sending a proper vhci create request for new kernels
-rw-r--r-- | src/shared/hciemu.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/shared/hciemu.c b/src/shared/hciemu.c index 90c21f329..0ea191f0a 100644 --- a/src/shared/hciemu.c +++ b/src/shared/hciemu.c @@ -35,6 +35,9 @@ #include <glib.h> +#include <bluetooth/bluetooth.h> +#include <bluetooth/hci.h> + #include "monitor/bt.h" #include "emulator/btdev.h" #include "emulator/bthost.h" @@ -201,6 +204,8 @@ static guint create_source_btdev(int fd, struct btdev *btdev) static bool create_vhci(struct hciemu *hciemu) { struct btdev *btdev; + uint8_t create_req[2]; + ssize_t written; int fd; btdev = btdev_create(hciemu->btdev_type, 0x00); @@ -215,6 +220,15 @@ static bool create_vhci(struct hciemu *hciemu) return false; } + create_req[0] = HCI_VENDOR_PKT; + create_req[1] = HCI_BREDR; + written = write(fd, create_req, sizeof(create_req)); + if (written < 0) { + close(fd); + btdev_destroy(btdev); + return false; + } + hciemu->master_dev = btdev; hciemu->master_source = create_source_btdev(fd, btdev); |