You can subscribe to this list here.
2001 |
Jan
|
Feb
(44) |
Mar
(202) |
Apr
(134) |
May
(89) |
Jun
(94) |
Jul
(58) |
Aug
(58) |
Sep
(56) |
Oct
(75) |
Nov
(26) |
Dec
(14) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(24) |
Feb
(30) |
Mar
(15) |
Apr
(49) |
May
(12) |
Jun
(6) |
Jul
(11) |
Aug
(20) |
Sep
(19) |
Oct
(3) |
Nov
(13) |
Dec
(1) |
2003 |
Jan
(7) |
Feb
(4) |
Mar
(7) |
Apr
(5) |
May
(6) |
Jun
(3) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(51) |
Dec
(1) |
2004 |
Jan
(11) |
Feb
(5) |
Mar
|
Apr
(5) |
May
(2) |
Jun
|
Jul
(21) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Gordon M. <gm...@us...> - 2001-03-20 16:41:02
|
The following file was modified in apps/bluetooth/btd: Name Old version New version Comment ---- ----------- ----------- ------- btd.c 1.88 1.88.2.1=20=20=20=20=20=20=20=20 The accompanying log: --Initial checking of changes to HCI. Including a) fixed the hci inquiry ha= ng b) changed buffer allocation strategy for hci inquiry c) converted to ca= ll tables for HCI Command Status & Command Complete processing. The diff of the modified file(s): --- btd.c 2001/03/20 12:13:17 1.88 +++ btd.c 2001/03/20 16:42:53 1.88.2.1 @@ -2887,14 +2887,21 @@ { #ifdef BTD_USERSTACK char inq_lap[6]; + inquiry_results *inq_res; =20=20=20=20=20 printf("Inquiring...\n"); =20=20=20=20=20 + inq_res =3D (inquiry_results*) malloc(sizeof(inquiry_results) + nbr_rs= p * 6); + inq_res->nbr_of_units =3D nbr_rsp; + inq_res->inq_time =3D t; + inq_lap[0] =3D 0x33; inq_lap[1] =3D 0x8b; inq_lap[2] =3D 0x9e; =20=20=20=20=20=20=20=20 - hci_inquiry(inq_lap, t, nbr_rsp); + hci_inquiry(inq_lap, t, nbr_rsp, inq_res); + + free(inq_res); #else int i; inquiry_results *inq_res; |
From: Gordon M. <gm...@us...> - 2001-03-20 16:40:33
|
The following file was modified in linux/include/linux/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- hci.h 1.47 1.47.2.1=20=20=20=20=20=20=20=20 The accompanying log: --Initial checking of changes to HCI. Including a) fixed the hci inquiry ha= ng b) changed buffer allocation strategy for hci inquiry c) converted to ca= ll tables for HCI Command Status & Command Complete processing. The diff of the modified file(s): --- hci.h 2001/03/12 15:55:02 1.47 +++ hci.h 2001/03/20 16:42:53 1.47.2.1 @@ -99,8 +99,17 @@ s32 hci_sprint_local_info(u8 *buf); s32 hci_sprint_local_bd(u8 *buf); =20 -inquiry_results* hci_inquiry(u8 lap[], u8 inq_len, u8 num_resp); +#ifdef CONFIG_BLUETOOTH_HCI_INQUIRY +int hci_inquiry(u8 lap[], u8 inq_len, u8 num_resp, inquiry_results*); +#else +#define hci_inquiry -EINVAL +#endif + +#ifdef CONFIG_BLUETOOTH_SCO s32 hci_add_sco_connection(u32 hci_hdl); +#else +#define hci_add_sco_connection(x) -EINVAL +#endif =20 /* Link control commands */ s32 hci_link_key_request_reply(u8 *bd, u8* link_key); |
From: Gordon M. <gm...@us...> - 2001-03-20 15:27:29
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- bluetooth.c 1.153 1.154=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: --Undid previous change, so we once again do some proc registration even if= CONFIG_BLUETOOTH_USE_PROC is undefined. The diff of the modified file(s): --- bluetooth.c 2001/03/19 22:54:55 1.153 +++ bluetooth.c 2001/03/20 15:29:49 1.154 @@ -2017,6 +2017,8 @@ procfs_status); } =20 +#endif /* CONFIG_BLUETOOTH_PROC */ + #ifdef CONFIG_BLUETOOTH_USE_TCI #if LINUX_VERSION_CODE >=3D KERNEL_VERSION(2,4,0) { @@ -2040,8 +2042,6 @@ #endif /* CONFIG_BLUETOOTH_USE_TCI */ =20=09 sdp_create_proc_file(); - -#endif /* CONFIG_BLUETOOTH_PROC */ =20 =20 #ifdef CONFIG_BLUETOOTH_USE_SECURITY_MANAGER |
From: Mattias A. <mat...@us...> - 2001-03-20 12:10:57
|
The following file was modified in apps/bluetooth/btd: Name Old version New version Comment ---- ----------- ----------- ------- btd.c 1.87 1.88=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: * updated bt_receive_top for usermode * minor adjustments when running usermode stack with hci emulation enabled *=A0fixed BT_DATA debug macro The diff of the modified file(s): --- btd.c 2001/03/13 22:21:16 1.87 +++ btd.c 2001/03/20 12:13:17 1.88 @@ -200,7 +200,7 @@ const char* psmname(unsigned short psm); int bt_write_lower_driver(unsigned char *data, int len); int bt_write_top(char *buf, int count, int line); -int bt_receive_top(rfcomm_con *rfcomm, unsigned char *data, int len); +int bt_receive_top(unsigned int con_id, unsigned char *data, int len); void bt_rfcomm_connection_ready(int status); void bt_sdp_connection_ready(int status); int bt_initiated(void); @@ -226,9 +226,9 @@ pthread_t read_thread; =20 #if BT_DATA_DEBUG -#define BT_DATA(fmt, args...) printf("BT DATA "fmt, ## args) +#define BT_DATA(fmt...) printf("BT DATA "fmt) #else -#define BT_DATA(fmt, args...)=20 +#define BT_DATA(fmt...)=20 #endif =20 #if BT_DATAFLOW_DEBUG @@ -665,6 +665,7 @@ do_reset =3D 0; modem_emulation =3D 0; hw_init =3D 0; + enter_cmd_mode =3D 1; /* temp fix until bt_waitline works for usermo= de */ break; =20 case 'T': @@ -2314,11 +2315,11 @@ return bytes_sent; } =20 -int bt_receive_top(rfcomm_con *rfcomm, unsigned char *data, int len) +int bt_receive_top(unsigned int con_id, unsigned char *data, int len) { int n; =20 - BT_DATA(" |X|--> %3d [%d]\n", len, rfcomm->line); + BT_DATA(" |X|--> %3d [%d]\n", len, GET_RFCOMMLINE(con_id)); =20 if (modem_emulation && !modem_connected) { @@ -2877,6 +2878,7 @@ #else /* fixme -- !*/ printf("bt_waitline : not impl in usermode stack\n"); + sleep(2); #endif } =20 |
From: Gordon M. <gm...@us...> - 2001-03-19 22:52:36
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- bluetooth.c 1.152 1.153=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: --Some of the proc registration wasn't bracketed in CONFIG_BLUEOOTH_USE_PROC The diff of the modified file(s): --- bluetooth.c 2001/03/19 17:00:26 1.152 +++ bluetooth.c 2001/03/19 22:54:55 1.153 @@ -2016,7 +2016,6 @@ D_ERR("Couldn't register proc file bt_status %d\n",=20 procfs_status); } -#endif /* CONFIG_BLUETOOTH_PROC */ =20 #ifdef CONFIG_BLUETOOTH_USE_TCI #if LINUX_VERSION_CODE >=3D KERNEL_VERSION(2,4,0) @@ -2041,6 +2040,9 @@ #endif /* CONFIG_BLUETOOTH_USE_TCI */ =20=09 sdp_create_proc_file(); + +#endif /* CONFIG_BLUETOOTH_PROC */ + =20 #ifdef CONFIG_BLUETOOTH_USE_SECURITY_MANAGER sec_man_create_proc_file(); |
From: Peter K. <pk...@us...> - 2001-03-19 17:03:42
|
The following file was modified in linux/include/linux/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- sec_client.h 1.7 1.8=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Added protoype for sec_client_shutdown(). The diff of the modified file(s): --- sec_client.h 2001/03/06 11:05:23 1.7 +++ sec_client.h 2001/03/19 17:06:00 1.8 @@ -43,12 +43,14 @@ #define SEC_CLIENT_H =20 /****************** INCLUDE FILES SECTION ********************************= ***/ + #ifdef __KERNEL__ #include <linux/bluetooth/btcommon.h> #include <linux/types.h> #else #include "btcommon.h" #endif + /****************** CONSTANT AND MACRO SECTION ***************************= ***/ =20 enum security_requests{ @@ -70,9 +72,11 @@ =20 /****************** TYPE DEFINITION SECTION ******************************= ***/ =20 - /****************** EXPORTED FUNCTION DECLARATION SECTION ****************= ***/ + extern struct proc_dir_entry sec_man_proc_entry; + +void sec_client_shutdown(void); =20 void sec_man_init(enum security_requests user); =20 |
From: Peter K. <pk...@us...> - 2001-03-19 16:58:11
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- bluetooth.c 1.151 1.152=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Always use HZ when setting times relative to jiffies. The diff of the modified file(s): --- bluetooth.c 2001/03/19 12:37:42 1.151 +++ bluetooth.c 2001/03/19 17:00:26 1.152 @@ -161,7 +161,8 @@ /****************** LOCAL FUNCTION DECLARATION SECTION *******************= ***/ =20 #ifdef __CRIS__ -#define BT_FLASH_LED_TIME 2 /* jiffies */ +#define BT_FLASH_LED_TIME (HZ/50) /* 20 ms */ + static struct timer_list bt_clear_led_timer; static int bt_led_clear_time; static void bt_clear_led(unsigned long dummy); @@ -281,7 +282,7 @@ static tty_linebuffer tty_linebuf; =20 static struct timer_list bt_timer; -#define BT_CON_TIMEOUT 700 /* jiffies */ +#define BT_CON_TIMEOUT (7*HZ) =20 /****************** FUNCTION DEFINITION SECTION **************************= ***/ =20 @@ -1836,7 +1837,7 @@ { if (jiffies > bt_led_clear_time) LED_ACTIVE_SET(0); - bt_clear_led_timer.expires =3D jiffies + 10; + bt_clear_led_timer.expires =3D jiffies + HZ/10; add_timer(&bt_clear_led_timer); } =20 @@ -2116,7 +2117,7 @@ /* start led timer */ init_timer(&bt_clear_led_timer); bt_clear_led_timer.function =3D &bt_clear_led; - bt_clear_led_timer.expires =3D jiffies + 10; + bt_clear_led_timer.expires =3D jiffies + HZ/10; add_timer(&bt_clear_led_timer); #endif } @@ -2473,9 +2474,11 @@ bt->rfcomm =3D NULL; } } + #ifdef CONFIG_BLUETOOTH_USE_SECURITY_MANAGER sec_client_shutdown(); /* Inform that stack is getting closed */ #endif + rfcomm_close(); sdp_shutdown(); tcs_shutdown(); |
From: Olov H. <ol...@us...> - 2001-03-19 12:40:54
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- sec_client.c 1.16 1.17=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Added KERNEL as originator. This tells that the stack is going down and tha= t there is nothing to read. The diff of the modified file(s): --- sec_client.c 2001/03/06 11:06:24 1.16 +++ sec_client.c 2001/03/19 12:43:11 1.17 @@ -233,7 +233,8 @@ =20 enum originator_types { BT_SEC_MAN, - SEC_CLIENT + SEC_CLIENT, + KERNEL };=20 =20 struct security_query { @@ -242,7 +243,7 @@ u8 remote_bd[6]; /* out */ u8 event_param[MAX_EVENT_DATA_LENGTH]; /* out */ - u8 originator; /* out/in BT_SEC_MAN or SEC_CLIENT */ + u8 originator; /* out/in BT_SEC_MAN, SEC_CLIENT or KERNEL*/ u32 originator_data; /* out/in con or rfcomm struct pointer */ u16 request_result; /* in */=09 } security_query; @@ -253,6 +254,16 @@ =20 /****************** FUNCTION DEFINITION SECTION **************************= ***/ =20=20=20 +void sec_client_shutdown() +{ + security_query.originator =3D KERNEL;=20=20 +#ifdef __KERNEL__ + D_PROC("wake_up process %i (%s) awakening\n", current->pid, current->com= m); + wake_up_interruptible(&sec_man_wq); + D_PROC("wake_up process %i (%s) woke up\n", current->pid, current->comm); +#endif +} + void=20 sec_man_init(enum security_requests user) { @@ -460,6 +471,12 @@ =20=09 D_PROC(FNC" Someone is trying to read % d bytes from sec proc-file\n", count); + + if (security_query.originator =3D=3D KERNEL) { + D_PROC(FNC"Shutdown of stack in progress, nothing to read!\n"); + return 1; + } + cli(); if (security_query.originator !=3D BT_SEC_MAN) { D_PROC(FNC"No response yet, going to sleep\n"); |
From: Olov H. <ol...@us...> - 2001-03-19 12:35:25
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- bluetooth.c 1.150 1.151=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Added a function call in order to tell that stack is going down The diff of the modified file(s): --- bluetooth.c 2001/03/18 14:23:52 1.150 +++ bluetooth.c 2001/03/19 12:37:42 1.151 @@ -2473,7 +2473,9 @@ bt->rfcomm =3D NULL; } } - +#ifdef CONFIG_BLUETOOTH_USE_SECURITY_MANAGER + sec_client_shutdown(); /* Inform that stack is getting closed */ +#endif rfcomm_close(); sdp_shutdown(); tcs_shutdown(); |
From: Peter K. <pk...@us...> - 2001-03-18 14:21:38
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- bluetooth.c 1.149 1.150=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Do not do a hangup on ttyBTC when it is closed. The diff of the modified file(s): --- bluetooth.c 2001/03/15 16:27:33 1.149 +++ bluetooth.c 2001/03/18 14:23:52 1.150 @@ -1163,7 +1163,7 @@ =20=09 /* Now hangup all active upper tty:s */ =20=09 - while (line < BT_NBR_PORTS) + while (line < BT_NBR_DATAPORTS) { if ((SESSIONSTATE(line) =3D=3D BT_ACTIVE) || (SESSIONSTATE(line) =3D=3D BT_UPPERCONNECTED)) @@ -2239,7 +2239,7 @@ pos +=3D sprintf(buf+pos, "\n[BT Interface]\n"); =20=09 /* Data TTY:s */ - for (line =3D 0; line < (BT_NBR_PORTS-1); line++) { + for (line =3D 0; line < BT_NBR_DATAPORTS; line++) { pos +=3D sprintf(buf+pos, "line[%d] state : %s\n", line, statename(SESSIONSTATE(line))); } @@ -2380,7 +2380,7 @@ DSYS("Registering tty on line %d\n", line); =20=09 /* Allow multiple open for ttyBTC */ - if (line =3D=3D (BT_NBR_PORTS-1)) { + if (line =3D=3D BT_NBR_PORTS-BT_NBR_CTRLPORTS) { NBR_CTRL_FDS++; =20=09=09 DSYS("Now %d open fd:s for ttyBTC\n",=20 @@ -2423,9 +2423,8 @@ { DSYS("Unregistering tty on line %d\n", line); =20 - if (line =3D=3D (BT_NBR_PORTS-1)) { - NBR_CTRL_FDS--; - if (NBR_CTRL_FDS !=3D 0) + if (line =3D=3D BT_NBR_PORTS-BT_NBR_CTRLPORTS) { + if (--NBR_CTRL_FDS !=3D 0) return 0; /* still more open fd:s on ttyBTC */ } =20 |
From: Peter K. <pk...@us...> - 2001-03-16 07:36:41
|
The following files were modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- hci.c 1.131 1.132=20=20=20=20=20=20=20=20=20=20=20 hci_vendor.c 1.17 1.18=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Include errno.h where needed when compiling for user mode. The diff of the modified file(s): --- hci.c 2001/03/15 21:50:22 1.131 +++ hci.c 2001/03/16 07:38:48 1.132 @@ -61,6 +61,7 @@ #else /* user mode */ #include <stdlib.h> #include <string.h> +#include <errno.h> #include "include/bluetooth.h" #include "include/hci.h" #include "include/hci_internal.h" @@ -1693,7 +1694,6 @@ lap[2] =3D 0x9e; =20 /* Free any previous response */ - if (inq_res) kfree(inq_res); =20 inq_res =3D (inquiry_results*) kmalloc(sizeof(inquiry_results) --- hci_vendor.c 2001/03/06 10:49:09 1.17 +++ hci_vendor.c 2001/03/16 07:38:48 1.18 @@ -57,6 +57,7 @@ #else /* user mode */ #include <stdlib.h> #include <string.h> +#include <errno.h> #include "include/bluetooth.h" #include "include/hci.h" #include "include/hci_internal.h" @@ -164,11 +165,7 @@ break; default: D_ERR(__FUNCTION__ ": Baudrate not supported\n"); -#ifdef __KERNEL__ return -EINVAL; -#else - return -1; -#endif } =20 #ifdef CONFIG_BLUETOOTH_SET_BAUDRATE_BLOCKING |
From: Gordon M. <gm...@us...> - 2001-03-15 21:48:16
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- hci.c 1.130 1.131=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: --I don't think we want to kfree inq_res if it's NULL, and the first time t= hrough it always is. The diff of the modified file(s): --- hci.c 2001/03/15 16:27:33 1.130 +++ hci.c 2001/03/15 21:50:22 1.131 @@ -1693,6 +1693,7 @@ lap[2] =3D 0x9e; =20 /* Free any previous response */ + if (inq_res) kfree(inq_res); =20 inq_res =3D (inquiry_results*) kmalloc(sizeof(inquiry_results) |
From: Peter K. <pk...@us...> - 2001-03-15 16:25:29
|
The following files were modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- bluetooth.c 1.148 1.149=20=20=20=20=20=20=20=20=20=20=20 hci.c 1.129 1.130=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Fixed memory leak in hci_inquiry(), and corrected HCIINQUIRY in case hci_inquiry() failed. The diff of the modified file(s): --- bluetooth.c 2001/03/14 16:23:45 1.148 +++ bluetooth.c 2001/03/15 16:27:33 1.149 @@ -476,7 +476,6 @@ u32 utmp; s32 err =3D 0; s32 size =3D _IOC_SIZE(cmd); - inquiry_results *inq_res; bt_connection btcon; u8 bd_addr[6]; =20 @@ -693,13 +692,15 @@ =20 case HCIINQUIRY: {=20 + inquiry_results *inq_res; s32 in_param[2]; u8 lap[3]; =20=09=09 BT_DRIVER(FNC"HCINQUIRY\n"); =20=09=09 copy_from_user(in_param, (s32*)arg, 8); - inq_res =3D hci_inquiry(lap, in_param[1] , in_param[0]); + if (!(inq_res =3D hci_inquiry(lap, in_param[1] , in_param[0]))) + return -ENOMEM; copy_to_user((s32*)arg, inq_res, size + 6 * inq_res->nbr_of_units); break; } --- hci.c 2001/03/15 10:31:11 1.129 +++ hci.c 2001/03/15 16:27:33 1.130 @@ -321,8 +321,6 @@ =20 static s32 test_hci_hdl; =20 - - /****************** FUNCTION DEFINITION SECTION **************************= ***/ =20 /* @@ -347,7 +345,6 @@ u32 c; /* Temporary variable for index calculations */=20=20=20 u8 *buf; /* Temporary pointer to the incoming data */ u32 tmp_data_len; - s32 syncing =3D 1; =20=20 PRINTPKT(__FUNCTION__", ", data, count); =20=20=20 @@ -1695,12 +1692,14 @@ lap[1] =3D 0x8b; lap[2] =3D 0x9e; =20 - if (!inq_res) { + /* Free any previous response */ kfree(inq_res); - } =20 inq_res =3D (inquiry_results*) kmalloc(sizeof(inquiry_results) + 6 * num_resp, GFP_ATOMIC); + if (!inq_res) + return NULL; + inq_res->nbr_of_units =3D 0; =20 c_pkt.type =3D CMD_PKT; @@ -1715,11 +1714,12 @@ =20 tmp =3D send_inq_cmd_block((u8*) &c_pkt ,c_pkt.len + CMD_HDR_LEN + HCI_HD= R_LEN); =20 - if ( tmp >=3D 0) { - return inq_res; - } else { - return NULL; + if (tmp < 0) { + kfree(inq_res); + inq_res =3D NULL; } + + return inq_res; } =20 /* This function will cause the Link Manager to create a connection to the @@ -3254,7 +3254,7 @@ if (cmd_buf.count =3D=3D NBR_CMD_BUFS) { D_ERR("insert_cmd: WARNING Command buffer full !\n"); sti(); - return -1; + return -ENOMEM; } =20 /* Allocate memory (freed from send_cmd_queue) */ |
From: Ulf H. <ul...@us...> - 2001-03-15 10:29:07
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- hci.c 1.128 1.129=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Corrected encryption status message The diff of the modified file(s): --- hci.c 2001/03/13 19:34:36 1.128 +++ hci.c 2001/03/15 10:31:11 1.129 @@ -754,7 +754,7 @@ { u8 tmp[2]; tmp[0] =3D buf[0]; - tmp[1] =3D buf[4]; + tmp[1] =3D buf[3]; =20=09=09 sec_man_event(HCI, get_bd(CHAR2INT12(buf[2], buf[1= ])), ENCRYPTION_CHANGE, tmp, 2); } |
From: Gordon M. <gm...@us...> - 2001-03-14 16:21:42
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- bluetooth.c 1.147 1.148=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: --Added Mattias Fuchs patch to compile with CONFIG_BLUETOOTH_USE_INBUFFER u= nder 2.4.x. The diff of the modified file(s): --- bluetooth.c 2001/03/14 11:49:54 1.147 +++ bluetooth.c 2001/03/14 16:23:45 1.148 @@ -68,6 +68,10 @@ # endif #endif =20 +#if LINUX_VERSION_CODE >=3D KERNEL_VERSION(2,4,0) +# include <linux/interrupt.h> +#endif + #include <linux/bluetooth/bluetooth.h> #include <linux/bluetooth/btcommon.h> #include <linux/bluetooth/btmem.h> |
From: Peter K. <pk...@us...> - 2001-03-14 11:47:51
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- bluetooth.c 1.146 1.147=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: A little more debug in bt_hangup(). The diff of the modified file(s): --- bluetooth.c 2001/03/13 11:05:45 1.146 +++ bluetooth.c 2001/03/14 11:49:54 1.147 @@ -803,6 +803,7 @@ { s32 result; u8 param[size]; + BT_DRIVER(FNC"HCIREADSTOREDLINKKEY\n"); copy_from_user(param, (s32*)arg, size); =20 @@ -828,6 +829,7 @@ { s32 result; u8 param[size]; + BT_DRIVER(FNC"HCIDELETESTOREDLINKKEY\n"); copy_from_user(param, (s32*)arg, size); =20 @@ -841,6 +843,7 @@ /* FIXME: If we send the length of the string too, we don't have to copy all the 248 byte... */ u8 local_name[248]; + copy_from_user(local_name, (s32*)arg, 248); hci_change_local_name(local_name); break; @@ -1034,7 +1037,8 @@ void bt_hangup(struct tty_struct *tty) { - BT_DRIVER("bt_hangup (nothing done)\n"); + BT_DRIVER("bt_hangup on line %d (nothing done) pid %d (%s)\n", + GET_TTYLINE(tty), current->pid, current->comm); } =20 /********************************************/ |
From: Peter K. <pk...@us...> - 2001-03-13 22:19:46
|
The following file was modified in apps/bluetooth/btd: Name Old version New version Comment ---- ----------- ----------- ------- btd.c 1.86 1.87=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Added O_NOCTTY flag to all open() calls of any /dev/ttyBT* device to make sure we do not accidentally end up with one as controlling TTY. The diff of the modified file(s): --- btd.c 2001/03/09 16:23:51 1.86 +++ btd.c 2001/03/13 22:21:16 1.87 @@ -1749,7 +1749,7 @@ #endif=20=20 =20 syslog(LOG_INFO, "Opening dev %s\n", dev); - if ((fd =3D open(dev, flags)) < 0 ) + if ((fd =3D open(dev, flags | O_NOCTTY)) < 0) {=20 perror("open_device"); exit(1); @@ -3100,7 +3100,7 @@ int devfd; =20 printf("Resetting HW board...\n"); - if ((devfd =3D open(BT_CTRL_TTY, O_RDWR)) >=3D 0) + if ((devfd =3D open(BT_CTRL_TTY, O_RDWR | O_NOCTTY)) >=3D 0) { if (ioctl(devfd, BTRESETPHYSICALHW) < 0) { |
From: Peter K. <pk...@us...> - 2001-03-13 22:19:16
|
The following files were modified in apps/bluetooth/experimental: Name Old version New version Comment ---- ----------- ----------- ------- bt_if.c 1.1 1.2=20=20=20=20=20=20=20=20=20=20=20=20=20 btd.c 1.3 1.4=20=20=20=20=20=20=20=20=20=20=20=20=20 btinit.c 1.1 1.2=20=20=20=20=20=20=20=20=20=20=20=20=20 btsend.c 1.1 1.2=20=20=20=20=20=20=20=20=20=20=20=20=20 modememul.c 1.2 1.3=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Added O_NOCTTY flag to all open() calls of any /dev/ttyBT* device to make sure we do not accidentally end up with one as controlling TTY. The diff of the modified file(s): --- bt_if.c 2001/03/02 10:59:57 1.1 +++ bt_if.c 2001/03/13 22:21:17 1.2 @@ -95,7 +95,7 @@ =20 int bt_isinitiated(void) { - int bt_cfd =3D open(BT_CTRL_TTY, O_RDWR); + int bt_cfd =3D open(BT_CTRL_TTY, O_RDWR | O_NOCTTY); int stack_initiated =3D -1; =20 if (ioctl(bt_cfd, BTISINITIATED, &stack_initiated) < 0) @@ -135,7 +135,7 @@ int devfd; =20 printf("Resetting HW board...\n"); - if ((devfd =3D open(BT_CTRL_TTY, O_RDWR)) >=3D 0) + if ((devfd =3D open(BT_CTRL_TTY, O_RDWR | O_NOCTTY)) >=3D 0) { if (ioctl(devfd, BTRESETPHYSICALHW) < 0) { @@ -162,7 +162,7 @@ { int bt_cfd; printf("Now opening BT Ctrl TTY [%s]\n", BT_CTRL_TTY); - if ((bt_cfd =3D open(BT_CTRL_TTY, O_RDWR)) < 0) + if ((bt_cfd =3D open(BT_CTRL_TTY, O_RDWR | O_NOCTTY)) < 0) { printf("could not open %s\n", BT_CTRL_TTY); exit(1); @@ -790,6 +790,7 @@ int open_device(char* dev, int flags, int role) { int fd; + #ifdef BT_USERSTACK=20=20 /* if opening bt dev or control dev simply discard and return fake fd */ if ((strcmp(dev, btdev)=3D=3D0) || (strcmp(dev, BT_CTRL_TTY)=3D=3D0) ) @@ -802,7 +803,7 @@ #endif=20=20 =20 syslog(LOG_INFO, "Opening dev %s\n", dev); - if ((fd =3D open(dev, flags)) < 0 ) + if ((fd =3D open(dev, flags | O_NOCTTY)) < 0) {=20 perror("open_device"); exit(1); @@ -821,6 +822,7 @@ if (fd !=3D 0xb055e) close(fd); #else + if (fd !=3D -1) close(fd); #endif } --- btd.c 2001/03/09 15:57:33 1.3 +++ btd.c 2001/03/13 22:21:17 1.4 @@ -264,7 +264,7 @@ if (do_reset) reset_hw(); =20=20=20 - if ((phys_fd =3D open(physdev, O_RDWR)) < 0) + if ((phys_fd =3D open(physdev, O_RDWR | O_NOCTTY)) < 0) { perror("could not open phys dev\n"); exit(1); @@ -275,7 +275,7 @@ /* Set the current tty to the bluetooth discpline */ set_bt_line_disc(phys_fd, bt_disc, physdev); =20=20=20 - bt_cfd =3D open(BT_CTRL_TTY, O_RDWR); + bt_cfd =3D open(BT_CTRL_TTY, O_RDWR | O_NOCTTY); =20=20=20 init_stack(bt_cfd, atoi(speedstr)); =20=20=20 --- btinit.c 2001/03/02 10:59:57 1.1 +++ btinit.c 2001/03/13 22:21:17 1.2 @@ -198,7 +198,7 @@ if (do_reset) reset_hw(); =20 - if ((phys_fd =3D open(physdev, O_RDWR)) < 0) + if ((phys_fd =3D open(physdev, O_RDWR | O_NOCTTY)) < 0) { perror("could not open phys dev\n"); exit(1); @@ -210,7 +210,7 @@ /* Set the current tty to the bluetooth discpline */ set_bt_line_disc(phys_fd, bt_disc, physdev); =20=20=20 - bt_cfd =3D open(BT_CTRL_TTY, O_RDWR); + bt_cfd =3D open(BT_CTRL_TTY, O_RDWR | O_NOCTTY); =20 init_stack(bt_cfd, atoi(speedstr)); =20 --- btsend.c 2001/03/02 10:59:57 1.1 +++ btsend.c 2001/03/13 22:21:17 1.2 @@ -119,7 +119,7 @@ /* Open BT device */=20=20 =20 printf("Opening %s\n", btdev); - if ((bt_fd =3D open(btdev, O_RDWR, CLIENT)) < 0) + if ((bt_fd =3D open(btdev, O_RDWR | O_NOCTTY, CLIENT)) < 0) { printf("could not open %s\n", btdev); exit(1); --- modememul.c 2001/03/05 11:17:24 1.2 +++ modememul.c 2001/03/13 22:21:17 1.3 @@ -119,7 +119,7 @@ while (done!=3DSTART_PPP) { syslog(LOG_INFO, "Open %s", argv[1]); - if ((btfd =3D open(argv[1], O_RDWR)) < 0) + if ((btfd =3D open(argv[1], O_RDWR | O_NOCTTY)) < 0) { perror("open"); exit(1); |
From: Gordon M. <gm...@us...> - 2001-03-13 19:32:35
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- hci.c 1.127 1.128=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: --Removed the WAIT_FOR_TIMEOUT state from the HCI state machine since it is= n't used any more. The diff of the modified file(s): --- hci.c 2001/03/13 19:32:37 1.127 +++ hci.c 2001/03/13 19:34:36 1.128 @@ -546,12 +546,6 @@ } break; =20 - case WAIT_FOR_TIMEOUT: - /* Discard all incoming data */ - D_ERR(__FUNCTION__", Discarding %d bytes and waiting forever...\n", cou= nt); - count =3D 0; - break; - default: D_ERR(__FUNCTION__", : Oups shouldn't be possible...\n"); break; |
From: Gordon M. <gm...@us...> - 2001-03-13 19:30:37
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- hci.c 1.126 1.127=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: --Changed the way we handle trashed UART data. Instead of going into the WA= IT_FOR_TIMEOUT state (which we never seem to leave) we now just drop the bu= ffer and ttry to resync on the start of the next one. This seems to work ok= . When I see us discard a byte in the running log I can reset my Ericssons = on the fly and the stack will sync back up with the byte stream. The diff of the modified file(s): --- hci.c 2001/03/12 16:02:57 1.126 +++ hci.c 2001/03/13 19:32:37 1.127 @@ -367,34 +367,26 @@ case WAIT_FOR_PACKET_TYPE: D_STATE(__FUNCTION__", WAIT_FOR_PACKET_TYPE\n"); tmp_pos =3D 0; - if (*buf =3D=3D EVENT_PKT) { - state =3D WAIT_FOR_EVENT_TYPE; - buf +=3D 1; - count -=3D 1; - } else if (*buf =3D=3D ACL_PKT) { - state =3D WAIT_FOR_ACL_HDR; - buf +=3D 1; - count -=3D 1; - } else if (*buf =3D=3D SCO_PKT) { - state =3D WAIT_FOR_SCO_HDR; + switch(*buf) { + case EVENT_PKT: state =3D WAIT_FOR_EVENT_TYPE; break; + case ACL_PKT: state =3D WAIT_FOR_ACL_HDR; break; + case SCO_PKT: state =3D WAIT_FOR_SCO_HDR; break; + default: + D_ERR(__FUNCTION__ ": discarding %d bytes\n", + count); + /* An unrecognized HCI header type is usually a + * sign of a problem with the lower level=20 + * driver. For example, if the UART drops some + * bytes due to high interrupt latency. In this + * case we'll try to resync by just dropping=20 + * this buffer and trying again at the start of + * the next one. + * --gmcnutt + */ + return; + } buf +=3D 1; count -=3D 1; - } else { - - D_ERR(__FUNCTION__", Bad UART baud rate or trashed data on the uart\n"= ); - D_ERR(__FUNCTION__", Try reducing uart speed or change IRQ setting (PC= )\n"); - - if (syncing) {=20=20 - DSYS(__FUNCTION__", Resetting state machine and trying to resync\n"); - syncing =3D 0; - buf =3D data; - count =3D tmp_data_len; - state =3D WAIT_FOR_PACKET_TYPE; - } else { - state =3D WAIT_FOR_TIMEOUT; - count =3D 0; - } - }=20=20 break; =20 /* If it is an event packet we wait for the next byte |
From: Peter K. <pk...@us...> - 2001-03-13 19:21:11
|
The following file was modified in apps/bluetooth/experimental: Name Old version New version Comment ---- ----------- ----------- ------- .cvsignore 1.1 Added The accompanying log: Ignore generated files. |
From: Peter K. <pk...@us...> - 2001-03-13 11:03:46
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- bluetooth.c 1.145 1.146=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Corrected verify_area() check in bt_ioctl() (VERIFY_READ and VERIFY_WRITE were incorrectly exchanged). The diff of the modified file(s): --- bluetooth.c 2001/03/08 15:29:21 1.145 +++ bluetooth.c 2001/03/13 11:05:45 1.146 @@ -488,18 +488,18 @@ #endif =20=20 /* The direction is a bitmask, and VERIFY_WRITE catches R/W transfer. - 'Type' is user-oriented, while verify_area is kernel-oriented, so - the concept of "read" and "write" is reversed */ + The ioctl direction is user-oriented, while verify_area is kernel- + oriented, so the concept of "read" and "write" is reversed */ if (_IOC_DIR(cmd) & _IOC_READ) { - err =3D verify_area(VERIFY_READ, (void*)arg, size); + err =3D verify_area(VERIFY_WRITE, (void*)arg, size); if (err) { - BT_DRIVER("verify_area(VERIFY_READ) error:%d\n", err); + BT_DRIVER("verify_area(VERIFY_WRITE) error:%d\n", err); return err; } } else if (_IOC_DIR(cmd) & _IOC_WRITE) { - err =3D verify_area(VERIFY_WRITE, (void*)arg, size); + err =3D verify_area(VERIFY_READ, (void*)arg, size); if (err) { - BT_DRIVER("verify_area(VERIFY_WRITE) error:%d\n", err); + BT_DRIVER("verify_area(VERIFY_READ) error:%d\n", err); return err; } } |
From: Peter K. <pk...@us...> - 2001-03-12 16:21:23
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- Makefile 1.18 1.19=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Only set CC and LD if this a stand-alone compilation. The diff of the modified file(s): --- Makefile 2001/03/12 15:54:35 1.18 +++ Makefile 2001/03/12 16:23:20 1.19 @@ -2,9 +2,6 @@ # Makefile for the Bluetooth device driver. # =20 -CC=3D$(CROSSCOMPILE)gcc -LD=3D$(CROSSCOMPILE)ld - # This would have worked had it not been for test.c which is not to be # included by default #OBJS =3D $(patsubst %.c, %.o, $(wildcard *.c)) @@ -42,6 +39,9 @@ # /usr/src/linux/include is the directory that was used to build the kerne= l. INCLUDEDIR =3D /usr/include =20 +CC =3D $(CROSSCOMPILE)gcc +LD =3D $(CROSSCOMPILE)ld + O_TARGET :=3D bt.o =20 MODFLAGS =3D -DMODVERSIONS -include $(INCLUDEDIR)/linux/modversions.h |
From: Peter K. <pk...@us...> - 2001-03-12 16:07:41
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- l2cap.c 1.92 1.93=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Needed to include sysdep-2.1.h to get le16_to_cpu() defined on 2.0.x The diff of the modified file(s): --- l2cap.c 2001/03/12 15:54:35 1.92 +++ l2cap.c 2001/03/12 16:09:37 1.93 @@ -47,6 +47,7 @@ #ifdef __KERNEL__ #include <linux/malloc.h> =20 +#include <linux/bluetooth/sysdep-2.1.h> #include <linux/bluetooth/l2cap.h> #include <linux/bluetooth/hci.h> #include <linux/bluetooth/rfcomm.h> |
From: Peter K. <pk...@us...> - 2001-03-12 16:01:00
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- hci.c 1.125 1.126=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Corrected the header which got mangled in the last commit. The diff of the modified file(s): --- hci.c 2001/03/12 15:54:35 1.125 +++ hci.c 2001/03/12 16:02:57 1.126 @@ -32,10 +32,10 @@ * General Public License. Your use of that executable is in no way * restricted on account of using the AXIS OpenBT Stack code with it. * - * This exception does not however invalidate any other reasons wh + * This exception does not however invalidate any other reasons why * the executable file might be covered by the provisions of the GNU * General Public License. -=20 + * * $Id$ * */ |