|
From: Mats F. <ma...@us...> - 2001-02-27 15:04:53
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- sdp.c 1.59 1.60=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Changed FNC to __FUNCTION__ Disconnect all SDP connections when shutting down stack Added sdp_send_data function |
|
From: Peter K. <pk...@us...> - 2001-03-04 13:03:12
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- sdp.c 1.62 1.63=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Corrected indentation. Made local functions static. |
|
From: Peter K. <pk...@us...> - 2001-03-04 15:55:30
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
sdp.c 1.63 1.64=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
Removed unnecessary kmalloc() and memcpy().
The diff of the modified file(s):
--- sdp.c 2001/03/04 13:04:35 1.63
+++ sdp.c 2001/03/04 15:56:54 1.64
@@ -85,12 +85,6 @@
#define D_MISC(fmt...)
#endif
=20
-#if SDP_DEBUG_MEM
-#define D_MEM(fmt...) printk(fmt)
-#else
-#define D_MEM(fmt...)
-#endif
-
#if SDP_DEBUG_PROC
#define D_PROC(fmt...) printk(fmt)
#else
@@ -630,7 +624,7 @@
/*---------------------------------------------------*/
l2cap_send_data(tx_buf, sdp_con_list[sdpIndex].l2cap);
DSYS(__FUNCTION__"Client finished sending data.\n");
- returnValue =3D 1;=20
+ returnValue =3D 0;=20
}
} else {
/*-----------------------------------------------------------*/
@@ -747,7 +741,6 @@
{
sdp_con *sdp;
data_struct *db_hdl;
- s32 tmp_len;
=20
D_REC(__FUNCTION__"\n");
=20
@@ -782,27 +775,20 @@
} else
#endif
{
- tmp_len =3D len + sizeof(data_struct);
-=09
- db_hdl =3D (data_struct*) kmalloc(tmp_len, GFP_ATOMIC);
- D_MEM("---> kmalloc %d bytes at 0x%08x\n", tmp_len, (s32) db_hdl);
+ db_hdl =3D (data_struct*)database_query.query;
=20
db_hdl->sdp_con_id =3D sdp->id;
db_hdl->len =3D len;
memcpy(db_hdl->data, data, len);
-
- database_query.count =3D tmp_len;
- memcpy(database_query.query, db_hdl, tmp_len);
=20
- D_MEM("<--- kfree 0x%08x\n", (s32) db_hdl);
- kfree(db_hdl);
+ database_query.count =3D sizeof(data_struct) + len;
=20
#ifdef __KERNEL__
D_PROC("wake_up process %i (%s) awakening\n", current->pid, current->com=
m);
wake_up_interruptible(&database_wq);
D_PROC("wake_up process %i (%s) woke up\n", current->pid, current->comm);
#else
- sdp_doquery(sdp_sock, (u8*) &database_query.query, tmp_len);
+ sdp_doquery(sdp_sock, database_query.query, database_query.count);
#endif
}
}
@@ -816,8 +802,8 @@
u32 sdp_frame_len;
u32 pdu_len;
=20
- /* Since we not send any error information the pdu length is just the
- size of the error code length, whoch is two bytes */
+ /* Since we do not send any error information the pdu length is just
+ the size of the error code length, which is two bytes */
pdu_len =3D 2;
sdp_frame_len =3D SDP_HDR_SIZE + pdu_len;
=20
@@ -864,8 +850,7 @@
char * buf, s32 count)
#endif
{
-=09
- s32 tmp;
+ s32 len;
=20=09
D_PROC(__FUNCTION__" Someone is trying to read %d bytes from sdp proc-fil=
e\n",
count);
@@ -876,18 +861,23 @@
}
sti();
=20
- tmp =3D MIN(count, database_query.count);
+ len =3D MIN(count, database_query.count);
=20
#ifdef __KERNEL__
- copy_to_user(buf, database_query.query, tmp);
+ copy_to_user(buf, database_query.query, len);
#else
- memcpy(buf, database_query.query, tmp);
+ memcpy(buf, database_query.query, len);
#endif
=20
- database_query.count -=3D tmp;
- D_PROC(__FUNCTION__"Returning %d bytes\n",tmp);
+ if (database_query.count > len) {
+ memmove(database_query.query,
+ database_query.query + len,
+ database_query.count - len);
+ }
+ database_query.count -=3D len;
+ D_PROC(__FUNCTION__ " Returning %d bytes\n", len);
=20
- return tmp;
+ return len;
}
=20
#ifdef USE_NEW_PROC
|
|
From: Peter K. <pk...@us...> - 2001-03-23 15:21:05
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
sdp.c 1.67 1.68=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
sdp_database_write() should now handle split writes.
The diff of the modified file(s):
--- sdp.c 2001/03/06 11:06:24 1.67
+++ sdp.c 2001/03/23 15:21:04 1.68
@@ -315,6 +315,11 @@
#endif /* LINUX_VERSION_CODE */
#endif /* __KERNEL__ */
=20
+#ifdef __KERNEL__
+static bt_tx_buf *db_write_tx_buf;
+static s32 db_write_recv;
+#endif
+
#ifndef __KERNEL__
static s32 sdp_sock;
#endif
@@ -406,6 +411,9 @@
sdp_disconnect_req(i);
}
}=20=20
+
+ unsubscribe_bt_buf(db_write_tx_buf);
+ db_write_recv =3D 0;
}
=20
#ifdef __KERNEL__
@@ -907,11 +915,7 @@
=20
len =3D MIN(count, database_query.count);
=20
-#ifdef __KERNEL__
copy_to_user(buf, database_query.query, len);
-#else
- memcpy(buf, database_query.query, len);
-#endif
=20
if (database_query.count > len) {
memmove(database_query.query,
@@ -932,35 +936,60 @@
const char * buf, s32 count)
#endif
{
+ static data_struct db_hdl;
sdp_tx_buf *sdp_buf;
- bt_tx_buf *tx_buf;
- data_struct *db_hdl =3D (data_struct*) buf;
+ s32 read1 =3D 0;
+ s32 read2 =3D 0;
=20=09
D_PROC(__FUNCTION__ " Someone wrote %d bytes to sdp proc-file\n",count);
=20
- D_XMIT(__FUNCTION__ " preparing to send %d bytes data to sdp_con[%d]\n", =
count, db_hdl->sdp_con_id);
- PRINTPKT("Data to be sent to client:", db_hdl->data, db_hdl->len);
+ if (!bt_initiated())
+ return 0;
=20=09
- tx_buf =3D subscribe_bt_buf(sizeof(sdp_tx_buf) + db_hdl->len);
+ if (!db_write_tx_buf) {
+ read1 =3D MIN(sizeof db_hdl - db_write_recv, count);
+ copy_from_user(&db_hdl + db_write_recv, buf, read1);
=20
- if (!tx_buf) {
+ db_write_recv +=3D read1;
+
+ if (db_write_recv < sizeof db_hdl)
+ return read1;
+
+ db_write_tx_buf =3D subscribe_bt_buf(sizeof *sdp_buf + db_hdl.len);
+
+ if (!db_write_tx_buf) {
D_ERR(__FUNCTION__ " failed to get tx buffer\n");
- return -1;
+ db_write_recv -=3D read1;
+ return -ENOMEM;
}
=20
- tx_buf->cur_len =3D db_hdl->len;
- sdp_buf =3D (sdp_tx_buf*) (tx_buf->data);
+ db_write_tx_buf->cur_len =3D db_hdl.len;
=20
-#ifdef __KERNEL__
- copy_from_user(sdp_buf->frame, db_hdl->data, db_hdl->len);
-#else
- memcpy(sdp_buf->frame, db_hdl->data, db_hdl->len);
-#endif
+ count -=3D read1;
+ buf +=3D read1;
+ db_write_recv =3D 0;
+ }
=20
- l2cap_send_data(tx_buf, sdp_con_list[db_hdl->sdp_con_id].l2cap);
+ sdp_buf =3D (sdp_tx_buf*)db_write_tx_buf->data;
=20=09
- return count;
+ if (db_write_recv < db_hdl.len) {
+ read2 =3D MIN(db_hdl.len - db_write_recv, count);
+ copy_from_user(sdp_buf->frame + db_write_recv, buf, read2);
+ db_write_recv +=3D read2;
+
+ if (db_write_recv < db_hdl.len)
+ return read1 + read2;
}
+
+ D_XMIT(__FUNCTION__ " preparing to send %d bytes data to sdp_con[%d]\n", =
db_hdl.len, db_hdl.sdp_con_id);
+ PRINTPKT("Data to be sent to client:", db_hdl.data, db_hdl.len);
+
+ l2cap_send_data(db_write_tx_buf, sdp_con_list[db_hdl.sdp_con_id].l2cap);
+ db_write_tx_buf =3D NULL;
+ db_write_recv =3D 0;
+
+ return read1 + read2;
+}
#else /* __KERNEL__ */
=20
s32 sdp_doquery(s32 fd, u8 *request, s32 len)
@@ -968,11 +997,13 @@
s32 n;
u8 tmpbuf[512];
data_struct *db_hdl;
+ s32 recv;
=20
D_XMIT("sdp_doquery : sending request %d bytes\n", len);
write(fd, request, len);
=20=09
- n =3D read(fd, tmpbuf, 512);
+ if ((n =3D read(fd, tmpbuf, 512)) < 0)
+ return n;
=20
D_REC(__FUNCTION__ ", Received %d bytes\n", n);
=20=09
@@ -980,15 +1011,13 @@
=20=09
/* what if not all is written once */
=20
- if (n < (sizeof(data_struct) + db_hdl->len)) {
- D_ERR("sdp_doquery : only got partial response n:%d, db_hdl->len:%d\n", =
n, db_hdl->len);
- print_data("The request is:", request, len);
- return -1;
- }
+ for (recv =3D n; recv < sizeof *db_hdl + db_hdl->len; recv +=3D n)
+ if ((n =3D read(fd, tmpbuf + recv, 512 - recv)) < 0)
+ return n;
=20
sdp_send_data(&sdp_con_list[db_hdl->sdp_con_id], db_hdl->data, db_hdl->le=
n);=20
=20=09
- return n;
+ return recv;
}
#endif
=20
|
|
From: Peter K. <pk...@us...> - 2001-03-25 09:32:05
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- sdp.c 1.68 1.69=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Made it compile in user mode stack again. The diff of the modified file(s): --- sdp.c 2001/03/23 15:21:04 1.68 +++ sdp.c 2001/03/25 09:32:03 1.69 @@ -412,8 +412,11 @@ } }=20=20 =20 +#ifdef __KERNEL__ unsubscribe_bt_buf(db_write_tx_buf); + db_write_tx_buf =3D NULL; db_write_recv =3D 0; +#endif } =20 #ifdef __KERNEL__ |
|
From: Peter K. <pk...@us...> - 2001-03-27 19:31:13
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Comment ---- ----------- ----------- ------- sdp.c 1.69 1.70=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Space -> tab. |
|
From: Mattias A. <mat...@us...> - 2001-03-30 12:09:32
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
sdp.c 1.70 1.71=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
use define instead of numbers
The diff of the modified file(s):
--- sdp.c 2001/03/27 19:31:11 1.70
+++ sdp.c 2001/03/30 12:09:30 1.71
@@ -587,7 +587,7 @@
/* check if we have sent a pos response yet */
if (!l2ca_remote_conf_done(l2cap)) {
/* still haven't sent a pos configure response*/
- if (l2ca_config_rsp(l2cap, 0, NULL, 1)) {
+ if (l2ca_config_rsp(l2cap, 0, NULL, CONF_SUCCESS)) {
D_ERR(__FUNCTION__ " Conf rsp failed\n");
}
} else=20
|
|
From: Gordon M. <gm...@us...> - 2001-04-17 00:56:11
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
sdp.c 1.71 1.72=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
--l2ca_disconnect_req will not return a negative value on all errors. On so=
me errors, such as an l2cap timeout, it returns a positive value. In the ca=
se of an l2cap timeout we don't want to sleep on the sdp_disc_wq since it's=
likely we'll never wake up.
The diff of the modified file(s):
--- sdp.c 2001/03/30 12:09:30 1.71
+++ sdp.c 2001/04/17 00:56:11 1.72
@@ -751,7 +751,7 @@
/*-------------------------------------------------------------------*/
if (sdp_id <=3D MAX_NBR_SDP &&
(sdp->state =3D=3D SDP_CONNECTING || sdp->state =3D=3D SDP_CONNECTED)=
) {
- if ((err =3D l2ca_disconnect_req(sdp_con_list[sdp_id].l2cap)) < 0) {
+ if ((err =3D l2ca_disconnect_req(sdp_con_list[sdp_id].l2cap)) !=3D 0) {
D_ERR(__FUNCTION__ ", An error with error code %d occured duinr disconn=
etion of sdp channel %d\n", err, sdp_id);
sdp_con_list[sdp_id].state =3D SDP_DISCONNECTED;
sdp_con_list[sdp_id].l2cap =3D NULL;=20=20
|
|
From: Gordon M. <gm...@us...> - 2001-04-17 07:00:49
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
sdp.c 1.72 1.73=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
--Fixed a bug that caused the user process to hang while reinitializing the=
stack after establishing an SDP connection.
The diff of the modified file(s):
--- sdp.c 2001/04/17 00:56:11 1.72
+++ sdp.c 2001/04/17 07:00:49 1.73
@@ -755,9 +755,15 @@
D_ERR(__FUNCTION__ ", An error with error code %d occured duinr disconn=
etion of sdp channel %d\n", err, sdp_id);
sdp_con_list[sdp_id].state =3D SDP_DISCONNECTED;
sdp_con_list[sdp_id].l2cap =3D NULL;=20=20
- } else {
+ }=20
+#if 0
+ /* sdp_disconnect_cfm wakes up this queue, but by the time we
+ get here it already did, so we sleep forever!
+ */
+else {
interruptible_sleep_on(&sdp_disc_wq);
}
+#endif
}
}
=20
|
|
From: Mattias A. <mat...@us...> - 2001-05-02 15:38:55
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
sdp.c 1.74 1.75=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
* fixed bug in get_free_sdp_con, was trying to access beyond end of array=
=20
if all sdp cons where busy
* replaced hardcoded values with define
=20
The diff of the modified file(s):
--- sdp.c 2001/04/17 10:00:26 1.74
+++ sdp.c 2001/05/02 15:38:54 1.75
@@ -300,7 +300,7 @@
u8 query[256];
} database_query;
=20
-sdp_con sdp_con_list[7];
+sdp_con sdp_con_list[MAX_NBR_SDP];
=20
static int role;
=20
@@ -378,7 +378,7 @@
/* Register SDP in the L2AP layer*/
l2cap_register_upper(SDP_LAYER, &this_layer);=20
=20
- for (i =3D 0; i < 7; i++) {
+ for (i =3D 0; i < MAX_NBR_SDP; i++) {
sdp_con_list[i].id =3D i;
sdp_con_list[i].l2cap =3D NULL;
sdp_con_list[i].state =3D SDP_DISCONNECTED;
@@ -1056,13 +1056,15 @@
{
s32 i =3D 0;
=20
- while ((i < 7) && (sdp_con_list[i].state !=3D SDP_DISCONNECTED)) {
+ while ((i < MAX_NBR_SDP) &&=20
+ (sdp_con_list[i].state !=3D SDP_DISCONNECTED)) {
i++;
}
=20
- if ((i =3D=3D 7) && (sdp_con_list[i].state !=3D SDP_DISCONNECTED)) {
+ if (i =3D=3D MAX_NBR_SDP) {
return 0;
}
+
return &sdp_con_list[i];
}
=20
|
|
From: Mattias A. <mat...@us...> - 2001-06-13 11:52:26
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
sdp.c 1.75 1.76=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
minor debug change
The diff of the modified file(s):
--- sdp.c 2001/05/02 15:38:54 1.75
+++ sdp.c 2001/06/13 11:52:25 1.76
@@ -387,13 +387,13 @@
}
=20
if (srv) {
- DSYS(__FUNCTION__ ", Init sdp as server\n");
+ DSYS("Init SDP as server\n");
role =3D 1;
#ifndef __KERNEL__
sdp_sock =3D open_socket(SDP_SRV_SOCK);
#endif
} else {
- DSYS(__FUNCTION__ ", Init sdp as client\n");
+ DSYS("Init SDP as client\n");
role =3D 0;
}
}
|
|
From: Mats F. <ma...@us...> - 2001-06-14 10:34:53
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
sdp.c 1.76 1.77=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
Pass the L2CAP MTU to the SDP server
The diff of the modified file(s):
--- sdp.c 2001/06/13 11:52:25 1.76
+++ sdp.c 2001/06/14 10:34:53 1.77
@@ -290,8 +290,9 @@
#endif /* __KERNEL__ */
=20
typedef struct data_struct {
- u32 sdp_con_id;
- s32 len;
+ u16 l2cap_mtu;
+ u16 sdp_con_id;
+ u16 len;
u8 data[0];
} data_struct;
=20
@@ -836,6 +837,7 @@
{
db_hdl =3D (data_struct*)database_query.query;
=20
+ db_hdl->l2cap_mtu =3D l2cap->remote_mtu;
db_hdl->sdp_con_id =3D sdp->id;
db_hdl->len =3D len;
memcpy(db_hdl->data, data, len);
|
|
From: Peter K. <pk...@us...> - 2001-09-19 10:16:28
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
sdp.c 1.78 1.79=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
* Removed unused typedefs attr_id, uuid_struct and attr_struct.
* Removed packed attribute from database_query again.
The diff of the modified file(s):
--- sdp.c 2001/09/18 08:32:50 1.78
+++ sdp.c 2001/09/19 10:16:27 1.79
@@ -138,22 +138,6 @@
=20
/****************** TYPE DEFINITION SECTION ******************************=
***/
=20
-typedef struct attr_id {
- u32 size:3; /* Least significant comes first in struct */
- u32 type:5;
- u8 data[0];
-} attr_id;
-
-typedef struct uuid_struct {
- u32 len;
- u8 *uuid;
-} uuid_struct;
-
-typedef struct attr_struct {
- u8 range;
- u8 *attr;
-} attr_struct;
-
/****************** LOCAL FUNCTION DECLARATION SECTION *******************=
***/
=20
static sdp_con* get_free_sdp_con(void);
@@ -299,7 +283,7 @@
struct database_query {
u32 count;
u8 query[256];
-} __attribute__ ((packed)) database_query;
+} database_query;
=20
sdp_con sdp_con_list[MAX_NBR_SDP];
=20
|
|
From: Peter K. <pk...@us...> - 2001-10-15 13:29:07
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
sdp.c 1.80 1.81=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
Fixed a typo (duinr -> during).
The diff of the modified file(s):
--- sdp.c 2001/09/21 12:51:06 1.80
+++ sdp.c 2001/10/15 13:29:06 1.81
@@ -737,7 +737,7 @@
if (sdp_id <=3D MAX_NBR_SDP &&
(sdp->state =3D=3D SDP_CONNECTING || sdp->state =3D=3D SDP_CONNECTED)=
) {
if ((err =3D l2ca_disconnect_req(sdp_con_list[sdp_id].l2cap)) !=3D 0) {
- D_ERR(__FUNCTION__ ", An error with error code %d occured duinr disconn=
etion of sdp channel %d\n", err, sdp_id);
+ D_ERR(__FUNCTION__ ", An error with error code %d occured during discon=
netion of sdp channel %d\n", err, sdp_id);
sdp_con_list[sdp_id].state =3D SDP_DISCONNECTED;
sdp_con_list[sdp_id].l2cap =3D NULL;=20=20
}=20
|
|
From: Anders J. <and...@us...> - 2001-11-14 11:05:20
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
sdp.c 1.81 1.82=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
* Corrected debugmessage in sdp_database_read
The diff of the modified file(s):
--- sdp.c 2001/10/15 13:29:06 1.81
+++ sdp.c 2001/11/14 11:05:19 1.82
@@ -977,7 +977,7 @@
}
=20
D_XMIT(__FUNCTION__ " preparing to send %d bytes data to sdp_con[%d]\n", =
db_hdl.len, db_hdl.sdp_con_id);
- PRINTPKT("Data to be sent to client:", db_hdl.data, db_hdl.len);
+ PRINTPKT("Data to be sent to client:", sdp_buf->frame, db_hdl.len);
=20
l2cap_send_data(db_write_tx_buf, sdp_con_list[db_hdl.sdp_con_id].l2cap);
db_write_tx_buf =3D NULL;
|
|
From: Peter K. <pk...@us...> - 2001-11-15 11:20:27
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
sdp.c 1.82 1.83=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
Handle l2cap->upper_con being NULL in sdp_disconnect_ind().
The diff of the modified file(s):
--- sdp.c 2001/11/14 11:05:19 1.82
+++ sdp.c 2001/11/15 11:20:26 1.83
@@ -758,9 +758,10 @@
sdp_con *sdp;
D_MISC(__FUNCTION__ ", remote cid : %d\n", l2cap->remote_cid);
=20=20=20=20
- sdp =3D (sdp_con*) l2cap->upper_con;
+ if ((sdp =3D (sdp_con*) l2cap->upper_con)) {
sdp->state =3D SDP_DISCONNECTED;
sdp->l2cap =3D NULL;
+ }
=20
l2ca_disconnect_rsp(l2cap);
}
|
|
From: Anders J. <and...@us...> - 2002-01-15 11:02:28
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Comment
---- ----------- ----------- -------
sdp.c 1.83 1.84=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
* Make sure we don't send another configure request as long we have an outs=
tanding one.
The diff of the modified file(s):
--- sdp.c 2001/11/15 11:20:26 1.83
+++ sdp.c 2002/01/15 11:02:28 1.84
@@ -541,7 +541,7 @@
/*-----------------------------------------------------------*/
bt_register_sdp(sdp->line, sdp->id);
=20
- if (!l2ca_local_conf_done(l2cap)) {
+ if (!l2ca_local_conf_done(l2cap) && !l2cap->conf_req_sent) {
/* still haven't sent config request yet */
if (l2ca_config_req(l2cap, 0, NULL, 0, 0)) {
D_ERR(__FUNCTION__ " Configuration request failed\n");
@@ -580,7 +580,7 @@
=20
/* check if we received a pos response on a=20
previous config req */=20
- if (!l2ca_local_conf_done(l2cap)) {
+ if (!l2ca_local_conf_done(l2cap) && !l2cap->conf_req_sent) {
/* FIXME -- use real options not static values */
=20=09=09
if (l2ca_config_req(l2cap, 0, NULL, 0, 0)) {
|
|
From: Willy S. <sag...@us...> - 2002-04-11 14:36:50
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- sdp.c 1.87 1.88=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Added linux version ifdef for malloc.h/slab.h The diff of the modified file(s): --- sdp.c 7 Mar 2002 21:32:29 -0000 1.87 +++ sdp.c 11 Apr 2002 11:48:44 -0000 1.88 @@ -45,7 +45,11 @@ =20 #ifdef __KERNEL__ #include <linux/bluetooth/sysdep-2.1.h> +#if LINUX_VERSION_CODE >=3D 0x20200 +#include <linux/slab.h> +#else #include <linux/malloc.h> +#endif #include <linux/bluetooth/btcommon.h> #include <linux/bluetooth/sdp.h> #include <linux/bluetooth/l2cap.h> |
|
From: Peter K. <pk...@us...> - 2002-08-01 16:15:13
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Tag Comment
---- ----------- ----------- --- -------
sdp.c 1.88 1.89=20=20=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
Fixed a compiler warning.
The diff of the modified file(s):
--- sdp.c 11 Apr 2002 11:48:44 -0000 1.88
+++ sdp.c 1 Aug 2002 16:15:11 -0000 1.89
@@ -162,8 +162,10 @@
const char * buf, s32 count);
=20
#endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0)
static s32 sdp_proc_dir_entry_read(char *buf, char **start, off_t offset,
s32 len, s32 unused);
+#endif
=20
#else /* USERMODE STACK */
static s32 open_socket(char *name);
@@ -877,6 +879,7 @@
#endif
=20
#ifdef __KERNEL__
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0)
s32 sdp_proc_dir_entry_read(char *buf, char **start, off_t offset,
s32 len, s32 unused)
{
@@ -886,6 +889,7 @@
return sdp_database_read(NULL, NULL, buf, len);
#endif
}
+#endif
=20
#ifdef USE_NEW_PROC
ssize_t sdp_database_read(struct file *f, char *buf,=20
|
|
From: Anders J. <and...@us...> - 2004-01-30 23:36:38
|
The following file was modified in linux/drivers/char/bluetooth:
Name Old version New version Tag Comment
---- ----------- ----------- --- -------
sdp.c 1.92 1.93=20=20=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
Set connectionstate to disconnected upon a failed l2cap connection attempt.
The diff of the modified file(s):
--- sdp.c 2004/01/09 15:27:18 1.92
+++ sdp.c 2004/01/30 13:22:10 1.93
@@ -537,6 +537,9 @@ sdp_connect_cfm(l2cap_con *l2cap, s32 st
if (status) {
DSYS(__FUNCTION__ " Connection failed\n");
sdp->status =3D status;
+ sdp->state =3D SDP_DISCONNECTED;
+ sdp->l2cap =3D NULL;
+ sdp->request =3D NULL;
wake_up_interruptible(&sdp->waitqueue);
release_wq_timer(&sdp->timer);
return;
|