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$ * */ |