summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/bluez/bluez-utils.inc3
-rw-r--r--packages/bluez/bluez-utils/handle-eintr.patch23
-rw-r--r--packages/bluez/bluez-utils_3.9.bb2
3 files changed, 27 insertions, 1 deletions
diff --git a/packages/bluez/bluez-utils.inc b/packages/bluez/bluez-utils.inc
index 912c419f8c..21cbea1b70 100644
--- a/packages/bluez/bluez-utils.inc
+++ b/packages/bluez/bluez-utils.inc
@@ -11,7 +11,8 @@ LICENSE = "GPL"
SRC_URI = "http://bluez.sourceforge.net/download/bluez-utils-${PV}.tar.gz \
file://hcid.conf \
file://02dtl1_cs.sh \
- file://hciattach-ti-bts.patch;patch=1"
+ file://hciattach-ti-bts.patch;patch=1 \
+ file://handle-eintr.patch;patch=1"
# Almost all serial CF cards w/ manfid 0x0000,0x0000 seem to use the bcs protocol
# Let's default to that instead of 'any' until further notice...
diff --git a/packages/bluez/bluez-utils/handle-eintr.patch b/packages/bluez/bluez-utils/handle-eintr.patch
new file mode 100644
index 0000000000..effe5d9696
--- /dev/null
+++ b/packages/bluez/bluez-utils/handle-eintr.patch
@@ -0,0 +1,23 @@
+--- bluez-utils-3.9.org/tools/hciattach.c 2007-01-28 20:16:48.000000000 +0000
++++ bluez-utils-3.9/tools/hciattach.c 2007-02-12 16:50:49.000000000 +0000
+@@ -1135,7 +1256,7 @@
+ int main(int argc, char *argv[])
+ {
+ struct uart_t *u = NULL;
+- int detach, printpid, opt, i, n, ld;
++ int detach, printpid, opt, i, n, ld, err;
+ int to = 5;
+ int init_speed = 0;
+ int send_break = 0;
+@@ -1286,7 +1414,10 @@
+
+ while (!__io_canceled) {
+ p.revents = 0;
+- if (poll(&p, 1, 500))
++ err = poll(&p, 1, 500);
++ if (err < 0 && errno == EINTR)
++ continue;
++ if (err)
+ break;
+ }
+
diff --git a/packages/bluez/bluez-utils_3.9.bb b/packages/bluez/bluez-utils_3.9.bb
index d07c68b7d7..9346fff13b 100644
--- a/packages/bluez/bluez-utils_3.9.bb
+++ b/packages/bluez/bluez-utils_3.9.bb
@@ -1 +1,3 @@
require bluez-utils.inc
+
+PR = "r1"