Timeout in hciattach

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, All

I have found that in the latest release of the bluez4 (4.66) timeout in 
hciattach doesn't work.

Look at this code of hciattach.c:

static void bcsp_tshy_sig_alarm(int sig)
{
	unsigned char bcsp_sync_pkt[10] = 
{0xc0,0x00,0x41,0x00,0xbe,0xda,0xdc,0xed,0xed,0xc0};
	int len, retries = 0;

	if (retries < bcsp_max_retries) {
		retries++;
		len = write(serial_fd, &bcsp_sync_pkt, 10);
		alarm(1);
		return;
	}

	tcflush(serial_fd, TCIOFLUSH);
	fprintf(stderr, "BCSP initialization timed out\n");
	exit(1);
}

The variable 'retries' will be always 0. Why is it not static? It was static 
in oldest releases (3.33 for example).

I have attached simple patch to fix that.

Best regards,
Vladimir

-- 
Vladimir Davydov
Senior Developer
Promwad Innovation Company
Web: www.promwad.com
22, Olshevskogo St.,
220073, Minsk,
BELARUS
Phone/Fax: +375 (17) 312–1246
E-mail: vladimir.davydov@xxxxxxxxxxx
Skype: v_davydov
diff -urN bluez-4.42.orig/tools/hciattach.c bluez-4.42/tools/hciattach.c
--- bluez-4.42.orig/tools/hciattach.c	2009-05-19 12:04:10.000000000 +0300
+++ bluez-4.42/tools/hciattach.c	2010-06-16 17:39:01.477248730 +0300
@@ -326,7 +326,8 @@
 static void bcsp_tshy_sig_alarm(int sig)
 {
 	unsigned char bcsp_sync_pkt[10] = {0xc0,0x00,0x41,0x00,0xbe,0xda,0xdc,0xed,0xed,0xc0};
-	int len, retries = 0;
+	int len;
+	static int retries = 0;
 
 	if (retries < bcsp_max_retries) {
 		retries++;

[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux