* Re: [PATCH] Bluetooth: Add new PID for Atheros 3011
From: Bala Shanmugam @ 2010-11-26 12:10 UTC (permalink / raw)
To: Marcel Holtmann
Cc: Shanmugamkamatchi Balashanmugam, linux-bluetooth@vger.kernel.org
In-Reply-To: <1290770560.4795.12.camel@aeonflux>
Marcel Holtmann wrote:
> Hi Bala,
>
>
>> Atheros 3011 has small sflash firmware and needs to be
>> blacklisted in transport driver to load actual firmware
>> in DFU driver.
>>
>
> please add an empty line here. The signed-off line should always be
> separated from the commit message. The git am takes it literal as it is
> and does not modify it.
>
>
>> Signed-off-by: Bala Shanmugam <sbalashanmugam@atheros.com>
>> ---
>> drivers/bluetooth/ath3k.c | 2 ++
>> drivers/bluetooth/btusb.c | 3 +++
>> 2 files changed, 5 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c
>> index 128cae4..c70fb0b 100644
>> --- a/drivers/bluetooth/ath3k.c
>> +++ b/drivers/bluetooth/ath3k.c
>> @@ -35,6 +35,8 @@
>> static struct usb_device_id ath3k_table[] = {
>> /* Atheros AR3011 */
>> { USB_DEVICE(0x0CF3, 0x3000) },
>>
>
> For the sake of readability add another empty line here as well.
>
>
>> + /* Atheros AR3011 with sflash firmware*/
>> + { USB_DEVICE(0x0CF3, 0x3002) },
>>
>
> And for consistency, add another empty line here as well.
>
>
>> { } /* Terminating entry */
>> };
>>
>> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
>> index ab3894f..ca3fdc1 100644
>> --- a/drivers/bluetooth/btusb.c
>> +++ b/drivers/bluetooth/btusb.c
>> @@ -99,6 +99,9 @@ static struct usb_device_id blacklist_table[] = {
>> /* Broadcom BCM2033 without firmware */
>> { USB_DEVICE(0x0a5c, 0x2033), .driver_info = BTUSB_IGNORE },
>>
>> + /* Atheros 3011 with sflash firmware */
>> + { USB_DEVICE(0x0cf3, 0x3002), .driver_info = BTUSB_IGNORE },
>> +
>> /* Broadcom BCM2035 */
>> { USB_DEVICE(0x0a5c, 0x2035), .driver_info = BTUSB_WRONG_SCO_MTU },
>> { USB_DEVICE(0x0a5c, 0x200a), .driver_info = BTUSB_WRONG_SCO_MTU },
>>
>
> If this finally solves the mess with the firmware loading, then I am
> fine with it. It looks clean and simple now.
>
> Acked-by: Marcel Holtmann <marcel@holtmann.org>
>
> Regards
>
> Marcel
>
>
>
Yes Marcel it solves our problem.
Probably, later if our customers wants to use different VID/PID,
we might have to blacklist those.
I have sent the updated patch.
Thanks for your comments.
Regards,
Bala.
^ permalink raw reply
* [RFC 0/4] Clean up sco, rfcomm and hci code
From: Emeltchenko Andrei @ 2010-11-26 15:22 UTC (permalink / raw)
To: linux-bluetooth
From: Andrei Emeltchenko <andrei.emeltchenko@nokia.com>
Remove extra spaces, do not use assignments in "if" statements,
remove initialization to zero static vars, other errors
reported by checkpatch.
Andrei Emeltchenko (4):
Bluetooth: cleanup sco code
Bluetooth: clean up rfcomm code
Bluetooth: clean up l2cap code
Bluetooth: clean up hci code
include/net/bluetooth/hci.h | 16 +++++-----
include/net/bluetooth/hci_core.h | 14 ++++----
include/net/bluetooth/l2cap.h | 22 +++++++-------
include/net/bluetooth/rfcomm.h | 18 ++++++------
include/net/bluetooth/sco.h | 20 ++++++------
net/bluetooth/hci_conn.c | 23 ++++++++++-----
net/bluetooth/hci_core.c | 57 ++++++++++++++++++++++++--------------
net/bluetooth/hci_event.c | 8 +++--
net/bluetooth/hci_sock.c | 17 +++++++----
net/bluetooth/l2cap.c | 7 ++--
net/bluetooth/rfcomm/core.c | 8 ++--
net/bluetooth/rfcomm/sock.c | 5 ++-
net/bluetooth/rfcomm/tty.c | 28 ++++++++++--------
net/bluetooth/sco.c | 22 ++++++++------
14 files changed, 151 insertions(+), 114 deletions(-)
^ permalink raw reply
* [RFC 1/4] Bluetooth: clean up sco code
From: Emeltchenko Andrei @ 2010-11-26 15:22 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <1290784965-4508-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>
From: Andrei Emeltchenko <andrei.emeltchenko@nokia.com>
Do not use assignments in IF condition, clean extra spaces.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@nokia.com>
---
include/net/bluetooth/sco.h | 20 ++++++++++----------
net/bluetooth/sco.c | 22 +++++++++++++---------
2 files changed, 23 insertions(+), 19 deletions(-)
diff --git a/include/net/bluetooth/sco.h b/include/net/bluetooth/sco.h
index e28a2a7..1e35c43 100644
--- a/include/net/bluetooth/sco.h
+++ b/include/net/bluetooth/sco.h
@@ -1,4 +1,4 @@
-/*
+/*
BlueZ - Bluetooth protocol stack for Linux
Copyright (C) 2000-2001 Qualcomm Incorporated
@@ -12,13 +12,13 @@
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
SOFTWARE IS DISCLAIMED.
*/
@@ -55,11 +55,11 @@ struct sco_conninfo {
struct sco_conn {
struct hci_conn *hcon;
- bdaddr_t *dst;
- bdaddr_t *src;
-
+ bdaddr_t *dst;
+ bdaddr_t *src;
+
spinlock_t lock;
- struct sock *sk;
+ struct sock *sk;
unsigned int mtu;
};
diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
index 66b9e5c..960c6d1 100644
--- a/net/bluetooth/sco.c
+++ b/net/bluetooth/sco.c
@@ -44,7 +44,7 @@
#include <net/sock.h>
#include <asm/system.h>
-#include <asm/uaccess.h>
+#include <linux/uaccess.h>
#include <net/bluetooth/bluetooth.h>
#include <net/bluetooth/hci_core.h>
@@ -52,7 +52,7 @@
#define VERSION "0.6"
-static int disable_esco = 0;
+static int disable_esco;
static const struct proto_ops sco_sock_ops;
@@ -138,16 +138,17 @@ static inline struct sock *sco_chan_get(struct sco_conn *conn)
static int sco_conn_del(struct hci_conn *hcon, int err)
{
- struct sco_conn *conn;
+ struct sco_conn *conn = hcon->sco_data;
struct sock *sk;
- if (!(conn = hcon->sco_data))
+ if (!conn)
return 0;
BT_DBG("hcon %p conn %p, err %d", hcon, conn, err);
/* Kill socket */
- if ((sk = sco_chan_get(conn))) {
+ sk = sco_chan_get(conn);
+ if (sk) {
bh_lock_sock(sk);
sco_sock_clear_timer(sk);
sco_chan_del(sk, err);
@@ -185,7 +186,8 @@ static int sco_connect(struct sock *sk)
BT_DBG("%s -> %s", batostr(src), batostr(dst));
- if (!(hdev = hci_get_route(dst, src)))
+ hdev = hci_get_route(dst, src);
+ if (!hdev)
return -EHOSTUNREACH;
hci_dev_lock_bh(hdev);
@@ -510,7 +512,8 @@ static int sco_sock_connect(struct socket *sock, struct sockaddr *addr, int alen
/* Set destination address and psm */
bacpy(&bt_sk(sk)->dst, &sa->sco_bdaddr);
- if ((err = sco_connect(sk)))
+ err = sco_connect(sk);
+ if (err)
goto done;
err = bt_sock_wait_state(sk, BT_CONNECTED,
@@ -828,13 +831,14 @@ static void sco_chan_del(struct sock *sk, int err)
static void sco_conn_ready(struct sco_conn *conn)
{
- struct sock *parent, *sk;
+ struct sock *parent;
+ struct sock *sk = conn->sk;
BT_DBG("conn %p", conn);
sco_conn_lock(conn);
- if ((sk = conn->sk)) {
+ if (sk) {
sco_sock_clear_timer(sk);
bh_lock_sock(sk);
sk->sk_state = BT_CONNECTED;
--
1.7.1
^ permalink raw reply related
* [RFC 2/4] Bluetooth: clean up rfcomm code
From: Emeltchenko Andrei @ 2010-11-26 15:22 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <1290784965-4508-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>
From: Andrei Emeltchenko <andrei.emeltchenko@nokia.com>
Remove extra spaces, assignments in if statement, zeroing static
variables.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@nokia.com>
---
include/net/bluetooth/rfcomm.h | 18 +++++++++---------
net/bluetooth/rfcomm/core.c | 8 ++++----
net/bluetooth/rfcomm/sock.c | 5 +++--
net/bluetooth/rfcomm/tty.c | 28 ++++++++++++++++------------
4 files changed, 32 insertions(+), 27 deletions(-)
diff --git a/include/net/bluetooth/rfcomm.h b/include/net/bluetooth/rfcomm.h
index 71047bc..6eac4a7 100644
--- a/include/net/bluetooth/rfcomm.h
+++ b/include/net/bluetooth/rfcomm.h
@@ -1,5 +1,5 @@
-/*
- RFCOMM implementation for Linux Bluetooth stack (BlueZ).
+/*
+ RFCOMM implementation for Linux Bluetooth stack (BlueZ)
Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com>
Copyright (C) 2002 Marcel Holtmann <marcel@holtmann.org>
@@ -11,13 +11,13 @@
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
SOFTWARE IS DISCLAIMED.
*/
@@ -105,7 +105,7 @@
struct rfcomm_hdr {
u8 addr;
u8 ctrl;
- u8 len; // Actual size can be 2 bytes
+ u8 len; /* Actual size can be 2 bytes */
} __packed;
struct rfcomm_cmd {
@@ -228,7 +228,7 @@ struct rfcomm_dlc {
/* ---- RFCOMM SEND RPN ---- */
int rfcomm_send_rpn(struct rfcomm_session *s, int cr, u8 dlci,
u8 bit_rate, u8 data_bits, u8 stop_bits,
- u8 parity, u8 flow_ctrl_settings,
+ u8 parity, u8 flow_ctrl_settings,
u8 xon_char, u8 xoff_char, u16 param_mask);
/* ---- RFCOMM DLCs (channels) ---- */
diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c
index fa642aa..c1e2bba 100644
--- a/net/bluetooth/rfcomm/core.c
+++ b/net/bluetooth/rfcomm/core.c
@@ -41,7 +41,7 @@
#include <linux/slab.h>
#include <net/sock.h>
-#include <asm/uaccess.h>
+#include <linux/uaccess.h>
#include <asm/unaligned.h>
#include <net/bluetooth/bluetooth.h>
@@ -51,10 +51,10 @@
#define VERSION "1.11"
-static int disable_cfc = 0;
+static int disable_cfc;
+static int l2cap_ertm;
static int channel_mtu = -1;
static unsigned int l2cap_mtu = RFCOMM_MAX_L2CAP_MTU;
-static int l2cap_ertm = 0;
static struct task_struct *rfcomm_thread;
@@ -1901,7 +1901,7 @@ static inline void rfcomm_check_connection(struct rfcomm_session *s)
BT_DBG("%p state %ld", s, s->state);
- switch(sk->sk_state) {
+ switch (sk->sk_state) {
case BT_CONNECTED:
s->state = BT_CONNECT;
diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c
index 0207bd6..66cc1f0 100644
--- a/net/bluetooth/rfcomm/sock.c
+++ b/net/bluetooth/rfcomm/sock.c
@@ -45,7 +45,7 @@
#include <net/sock.h>
#include <asm/system.h>
-#include <asm/uaccess.h>
+#include <linux/uaccess.h>
#include <net/bluetooth/bluetooth.h>
#include <net/bluetooth/hci_core.h>
@@ -888,7 +888,8 @@ static int rfcomm_sock_shutdown(struct socket *sock, int how)
BT_DBG("sock %p, sk %p", sock, sk);
- if (!sk) return 0;
+ if (!sk)
+ return 0;
lock_sock(sk);
if (!sk->sk_shutdown) {
diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c
index a9b81f5..2575c2d 100644
--- a/net/bluetooth/rfcomm/tty.c
+++ b/net/bluetooth/rfcomm/tty.c
@@ -58,9 +58,9 @@ struct rfcomm_dev {
bdaddr_t src;
bdaddr_t dst;
- u8 channel;
+ u8 channel;
- uint modem_status;
+ uint modem_status;
struct rfcomm_dlc *dlc;
struct tty_struct *tty;
@@ -69,7 +69,7 @@ struct rfcomm_dev {
struct device *tty_dev;
- atomic_t wmem_alloc;
+ atomic_t wmem_alloc;
struct sk_buff_head pending;
};
@@ -431,7 +431,8 @@ static int rfcomm_release_dev(void __user *arg)
BT_DBG("dev_id %d flags 0x%x", req.dev_id, req.flags);
- if (!(dev = rfcomm_dev_get(req.dev_id)))
+ dev = rfcomm_dev_get(req.dev_id);
+ if (!dev)
return -ENODEV;
if (dev->flags != NOCAP_FLAGS && !capable(CAP_NET_ADMIN)) {
@@ -470,7 +471,8 @@ static int rfcomm_get_dev_list(void __user *arg)
size = sizeof(*dl) + dev_num * sizeof(*di);
- if (!(dl = kmalloc(size, GFP_KERNEL)))
+ dl = kmalloc(size, GFP_KERNEL);
+ if (!dl)
return -ENOMEM;
di = dl->dev_info;
@@ -513,7 +515,8 @@ static int rfcomm_get_dev_info(void __user *arg)
if (copy_from_user(&di, arg, sizeof(di)))
return -EFAULT;
- if (!(dev = rfcomm_dev_get(di.id)))
+ dev = rfcomm_dev_get(di.id);
+ if (!dev)
return -ENODEV;
di.flags = dev->flags;
@@ -561,7 +564,8 @@ static void rfcomm_dev_data_ready(struct rfcomm_dlc *dlc, struct sk_buff *skb)
return;
}
- if (!(tty = dev->tty) || !skb_queue_empty(&dev->pending)) {
+ tty = dev->tty;
+ if (!tty || !skb_queue_empty(&dev->pending)) {
skb_queue_tail(&dev->pending, skb);
return;
}
@@ -796,7 +800,8 @@ static int rfcomm_tty_write(struct tty_struct *tty, const unsigned char *buf, in
memcpy(skb_put(skb, size), buf + sent, size);
- if ((err = rfcomm_dlc_send(dlc, skb)) < 0) {
+ err = rfcomm_dlc_send(dlc, skb);
+ if (err < 0) {
kfree_skb(skb);
break;
}
@@ -892,7 +897,7 @@ static void rfcomm_tty_set_termios(struct tty_struct *tty, struct ktermios *old)
/* Parity on/off and when on, odd/even */
if (((old->c_cflag & PARENB) != (new->c_cflag & PARENB)) ||
- ((old->c_cflag & PARODD) != (new->c_cflag & PARODD)) ) {
+ ((old->c_cflag & PARODD) != (new->c_cflag & PARODD))) {
changes |= RFCOMM_RPN_PM_PARITY;
BT_DBG("Parity change detected.");
}
@@ -937,11 +942,10 @@ static void rfcomm_tty_set_termios(struct tty_struct *tty, struct ktermios *old)
/* POSIX does not support 1.5 stop bits and RFCOMM does not
* support 2 stop bits. So a request for 2 stop bits gets
* translated to 1.5 stop bits */
- if (new->c_cflag & CSTOPB) {
+ if (new->c_cflag & CSTOPB)
stop_bits = RFCOMM_RPN_STOP_15;
- } else {
+ else
stop_bits = RFCOMM_RPN_STOP_1;
- }
/* Handle number of data bits [5-8] */
if ((old->c_cflag & CSIZE) != (new->c_cflag & CSIZE))
--
1.7.1
^ permalink raw reply related
* [RFC 3/4] Bluetooth: clean up l2cap code
From: Emeltchenko Andrei @ 2010-11-26 15:22 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <1290784965-4508-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>
From: Andrei Emeltchenko <andrei.emeltchenko@nokia.com>
clean extra spaces, do not initialize static to zero, macros
with complex values enclosed to ().
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@nokia.com>
---
include/net/bluetooth/l2cap.h | 22 +++++++++++-----------
net/bluetooth/l2cap.c | 7 +++----
2 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h
index c819c8b..7ad25ca 100644
--- a/include/net/bluetooth/l2cap.h
+++ b/include/net/bluetooth/l2cap.h
@@ -1,4 +1,4 @@
-/*
+/*
BlueZ - Bluetooth protocol stack for Linux
Copyright (C) 2000-2001 Qualcomm Incorporated
Copyright (C) 2009-2010 Gustavo F. Padovan <gustavo@padovan.org>
@@ -14,13 +14,13 @@
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
SOFTWARE IS DISCLAIMED.
*/
@@ -417,11 +417,11 @@ static inline int l2cap_tx_window_full(struct sock *sk)
return sub == pi->remote_tx_win;
}
-#define __get_txseq(ctrl) ((ctrl) & L2CAP_CTRL_TXSEQ) >> 1
-#define __get_reqseq(ctrl) ((ctrl) & L2CAP_CTRL_REQSEQ) >> 8
-#define __is_iframe(ctrl) !((ctrl) & L2CAP_CTRL_FRAME_TYPE)
-#define __is_sframe(ctrl) (ctrl) & L2CAP_CTRL_FRAME_TYPE
-#define __is_sar_start(ctrl) ((ctrl) & L2CAP_CTRL_SAR) == L2CAP_SDU_START
+#define __get_txseq(ctrl) (((ctrl) & L2CAP_CTRL_TXSEQ) >> 1)
+#define __get_reqseq(ctrl) (((ctrl) & L2CAP_CTRL_REQSEQ) >> 8)
+#define __is_iframe(ctrl) (!((ctrl) & L2CAP_CTRL_FRAME_TYPE))
+#define __is_sframe(ctrl) ((ctrl) & L2CAP_CTRL_FRAME_TYPE)
+#define __is_sar_start(ctrl) (((ctrl) & L2CAP_CTRL_SAR) == L2CAP_SDU_START)
void l2cap_load(void);
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c
index 12b4aa2..d4b4fbd 100644
--- a/net/bluetooth/l2cap.c
+++ b/net/bluetooth/l2cap.c
@@ -57,7 +57,7 @@
#define VERSION "2.15"
-static int disable_ertm = 0;
+static int disable_ertm;
static u32 l2cap_feat_mask = L2CAP_FEAT_FIXED_CHAN;
static u8 l2cap_fixed_chan[8] = { 0x02, };
@@ -4162,11 +4162,10 @@ static inline void l2cap_data_channel_rrframe(struct sock *sk, u16 rx_control)
__mod_retrans_timer();
pi->conn_state &= ~L2CAP_CONN_REMOTE_BUSY;
- if (pi->conn_state & L2CAP_CONN_SREJ_SENT) {
+ if (pi->conn_state & L2CAP_CONN_SREJ_SENT)
l2cap_send_ack(pi);
- } else {
+ else
l2cap_ertm_send(sk);
- }
}
}
--
1.7.1
^ permalink raw reply related
* [RFC 4/4] Bluetooth: clean up hci code
From: Emeltchenko Andrei @ 2010-11-26 15:22 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <1290784965-4508-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>
From: Andrei Emeltchenko <andrei.emeltchenko@nokia.com>
Remove extra spaces
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@nokia.com>
---
include/net/bluetooth/hci.h | 16 +++++-----
include/net/bluetooth/hci_core.h | 14 ++++----
net/bluetooth/hci_conn.c | 23 ++++++++++-----
net/bluetooth/hci_core.c | 57 ++++++++++++++++++++++++--------------
net/bluetooth/hci_event.c | 8 +++--
net/bluetooth/hci_sock.c | 17 +++++++----
6 files changed, 82 insertions(+), 53 deletions(-)
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
index e30e008..f3c5ed6 100644
--- a/include/net/bluetooth/hci.h
+++ b/include/net/bluetooth/hci.h
@@ -1,4 +1,4 @@
-/*
+/*
BlueZ - Bluetooth protocol stack for Linux
Copyright (C) 2000-2001 Qualcomm Incorporated
@@ -12,13 +12,13 @@
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
- CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
+ ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
+ COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
SOFTWARE IS DISCLAIMED.
*/
@@ -489,7 +489,7 @@ struct hci_rp_read_local_name {
#define HCI_OP_WRITE_PG_TIMEOUT 0x0c18
-#define HCI_OP_WRITE_SCAN_ENABLE 0x0c1a
+#define HCI_OP_WRITE_SCAN_ENABLE 0x0c1a
#define SCAN_DISABLED 0x00
#define SCAN_INQUIRY 0x01
#define SCAN_PAGE 0x02
@@ -874,7 +874,7 @@ struct hci_ev_si_security {
struct hci_command_hdr {
__le16 opcode; /* OCF & OGF */
- __u8 plen;
+ __u8 plen;
} __packed;
struct hci_event_hdr {
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
index ebec8c9..9c08625 100644
--- a/include/net/bluetooth/hci_core.h
+++ b/include/net/bluetooth/hci_core.h
@@ -44,15 +44,15 @@ struct inquiry_data {
};
struct inquiry_entry {
- struct inquiry_entry *next;
+ struct inquiry_entry *next;
__u32 timestamp;
struct inquiry_data data;
};
struct inquiry_cache {
- spinlock_t lock;
+ spinlock_t lock;
__u32 timestamp;
- struct inquiry_entry *list;
+ struct inquiry_entry *list;
};
struct hci_conn_hash {
@@ -141,7 +141,7 @@ struct hci_dev {
void *driver_data;
void *core_data;
- atomic_t promisc;
+ atomic_t promisc;
struct dentry *debugfs;
@@ -150,7 +150,7 @@ struct hci_dev {
struct rfkill *rfkill;
- struct module *owner;
+ struct module *owner;
int (*open)(struct hci_dev *hdev);
int (*close)(struct hci_dev *hdev);
@@ -215,8 +215,8 @@ extern rwlock_t hci_dev_list_lock;
extern rwlock_t hci_cb_list_lock;
/* ----- Inquiry cache ----- */
-#define INQUIRY_CACHE_AGE_MAX (HZ*30) // 30 seconds
-#define INQUIRY_ENTRY_AGE_MAX (HZ*60) // 60 seconds
+#define INQUIRY_CACHE_AGE_MAX (HZ*30) /* 30 seconds */
+#define INQUIRY_ENTRY_AGE_MAX (HZ*60) /* 60 seconds */
#define inquiry_cache_lock(c) spin_lock(&c->lock)
#define inquiry_cache_unlock(c) spin_unlock(&c->lock)
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index 0b1e460..6b90a41 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -39,7 +39,7 @@
#include <net/sock.h>
#include <asm/system.h>
-#include <asm/uaccess.h>
+#include <linux/uaccess.h>
#include <asm/unaligned.h>
#include <net/bluetooth/bluetooth.h>
@@ -66,7 +66,8 @@ void hci_acl_connect(struct hci_conn *conn)
bacpy(&cp.bdaddr, &conn->dst);
cp.pscan_rep_mode = 0x02;
- if ((ie = hci_inquiry_cache_lookup(hdev, &conn->dst))) {
+ ie = hci_inquiry_cache_lookup(hdev, &conn->dst);
+ if (ie) {
if (inquiry_entry_age(ie) <= INQUIRY_ENTRY_AGE_MAX) {
cp.pscan_rep_mode = ie->data.pscan_rep_mode;
cp.pscan_mode = ie->data.pscan_mode;
@@ -368,8 +369,10 @@ struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst, __u8
BT_DBG("%s dst %s", hdev->name, batostr(dst));
- if (!(acl = hci_conn_hash_lookup_ba(hdev, ACL_LINK, dst))) {
- if (!(acl = hci_conn_add(hdev, ACL_LINK, dst)))
+ acl = hci_conn_hash_lookup_ba(hdev, ACL_LINK, dst);
+ if (!acl) {
+ acl = hci_conn_add(hdev, ACL_LINK, dst);
+ if (!acl)
return NULL;
}
@@ -389,8 +392,10 @@ struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *dst, __u8
if (type == ACL_LINK)
return acl;
- if (!(sco = hci_conn_hash_lookup_ba(hdev, type, dst))) {
- if (!(sco = hci_conn_add(hdev, type, dst))) {
+ sco = hci_conn_hash_lookup_ba(hdev, type, dst);
+ if (!sco) {
+ sco = hci_conn_add(hdev, type, dst);
+ if (!sco) {
hci_conn_put(acl);
return NULL;
}
@@ -647,10 +652,12 @@ int hci_get_conn_list(void __user *arg)
size = sizeof(req) + req.conn_num * sizeof(*ci);
- if (!(cl = kmalloc(size, GFP_KERNEL)))
+ cl = kmalloc(size, GFP_KERNEL);
+ if (!cl)
return -ENOMEM;
- if (!(hdev = hci_dev_get(req.dev_id))) {
+ hdev = hci_dev_get(req.dev_id);
+ if (!hdev) {
kfree(cl);
return -ENODEV;
}
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index bc2a052..7305d84 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -44,7 +44,7 @@
#include <net/sock.h>
#include <asm/system.h>
-#include <asm/uaccess.h>
+#include <linux/uaccess.h>
#include <asm/unaligned.h>
#include <net/bluetooth/bluetooth.h>
@@ -349,20 +349,23 @@ struct inquiry_entry *hci_inquiry_cache_lookup(struct hci_dev *hdev, bdaddr_t *b
void hci_inquiry_cache_update(struct hci_dev *hdev, struct inquiry_data *data)
{
struct inquiry_cache *cache = &hdev->inq_cache;
- struct inquiry_entry *e;
+ struct inquiry_entry *ie;
BT_DBG("cache %p, %s", cache, batostr(&data->bdaddr));
- if (!(e = hci_inquiry_cache_lookup(hdev, &data->bdaddr))) {
+ ie = hci_inquiry_cache_lookup(hdev, &data->bdaddr);
+ if (!ie) {
/* Entry not in the cache. Add new one. */
- if (!(e = kzalloc(sizeof(struct inquiry_entry), GFP_ATOMIC)))
+ ie = kzalloc(sizeof(struct inquiry_entry), GFP_ATOMIC);
+ if (!ie)
return;
- e->next = cache->list;
- cache->list = e;
+
+ ie->next = cache->list;
+ cache->list = ie;
}
- memcpy(&e->data, data, sizeof(*data));
- e->timestamp = jiffies;
+ memcpy(&ie->data, data, sizeof(*data));
+ ie->timestamp = jiffies;
cache->timestamp = jiffies;
}
@@ -430,7 +433,8 @@ int hci_inquiry(void __user *arg)
hci_dev_unlock_bh(hdev);
timeo = ir.length * msecs_to_jiffies(2000);
- if (do_inquiry && (err = hci_request(hdev, hci_inq_req, (unsigned long)&ir, timeo)) < 0)
+ err = hci_request(hdev, hci_inq_req, (unsigned long)&ir, timeo);
+ if (do_inquiry && err < 0)
goto done;
/* for unlimited number of responses we will use buffer with 255 entries */
@@ -439,7 +443,8 @@ int hci_inquiry(void __user *arg)
/* cache_dump can't sleep. Therefore we allocate temp buffer and then
* copy it to the user space.
*/
- if (!(buf = kmalloc(sizeof(struct inquiry_info) * max_rsp, GFP_KERNEL))) {
+ buf = kmalloc(sizeof(struct inquiry_info) *max_rsp, GFP_KERNEL);
+ if (!buf) {
err = -ENOMEM;
goto done;
}
@@ -611,7 +616,8 @@ int hci_dev_close(__u16 dev)
struct hci_dev *hdev;
int err;
- if (!(hdev = hci_dev_get(dev)))
+ hdev = hci_dev_get(dev);
+ if (!hdev)
return -ENODEV;
err = hci_dev_do_close(hdev);
hci_dev_put(hdev);
@@ -623,7 +629,8 @@ int hci_dev_reset(__u16 dev)
struct hci_dev *hdev;
int ret = 0;
- if (!(hdev = hci_dev_get(dev)))
+ hdev = hci_dev_get(dev);
+ if (!hdev)
return -ENODEV;
hci_req_lock(hdev);
@@ -663,7 +670,8 @@ int hci_dev_reset_stat(__u16 dev)
struct hci_dev *hdev;
int ret = 0;
- if (!(hdev = hci_dev_get(dev)))
+ hdev = hci_dev_get(dev);
+ if (!hdev)
return -ENODEV;
memset(&hdev->stat, 0, sizeof(struct hci_dev_stats));
@@ -682,7 +690,8 @@ int hci_dev_cmd(unsigned int cmd, void __user *arg)
if (copy_from_user(&dr, arg, sizeof(dr)))
return -EFAULT;
- if (!(hdev = hci_dev_get(dr.dev_id)))
+ hdev = hci_dev_get(dr.dev_id);
+ if (!hdev)
return -ENODEV;
switch (cmd) {
@@ -763,7 +772,8 @@ int hci_get_dev_list(void __user *arg)
size = sizeof(*dl) + dev_num * sizeof(*dr);
- if (!(dl = kzalloc(size, GFP_KERNEL)))
+ dl = kzalloc(size, GFP_KERNEL);
+ if (!dl)
return -ENOMEM;
dr = dl->dev_req;
@@ -797,7 +807,8 @@ int hci_get_dev_info(void __user *arg)
if (copy_from_user(&di, arg, sizeof(di)))
return -EFAULT;
- if (!(hdev = hci_dev_get(di.dev_id)))
+ hdev = hci_dev_get(di.dev_id);
+ if (!hdev)
return -ENODEV;
strcpy(di.name, hdev->name);
@@ -905,7 +916,7 @@ int hci_register_dev(struct hci_dev *hdev)
hdev->sniff_max_interval = 800;
hdev->sniff_min_interval = 80;
- tasklet_init(&hdev->cmd_task, hci_cmd_task,(unsigned long) hdev);
+ tasklet_init(&hdev->cmd_task, hci_cmd_task, (unsigned long) hdev);
tasklet_init(&hdev->rx_task, hci_rx_task, (unsigned long) hdev);
tasklet_init(&hdev->tx_task, hci_tx_task, (unsigned long) hdev);
@@ -1368,7 +1379,8 @@ void hci_send_acl(struct hci_conn *conn, struct sk_buff *skb, __u16 flags)
bt_cb(skb)->pkt_type = HCI_ACLDATA_PKT;
hci_add_acl_hdr(skb, conn->handle, flags | ACL_START);
- if (!(list = skb_shinfo(skb)->frag_list)) {
+ list = skb_shinfo(skb)->frag_list;
+ if (!list) {
/* Non fragmented */
BT_DBG("%s nonfrag skb %p len %d", hdev->name, skb, skb->len);
@@ -1609,7 +1621,8 @@ static inline void hci_acldata_packet(struct hci_dev *hdev, struct sk_buff *skb)
hci_conn_enter_active_mode(conn);
/* Send to upper protocol */
- if ((hp = hci_proto[HCI_PROTO_L2CAP]) && hp->recv_acldata) {
+ hp = hci_proto[HCI_PROTO_L2CAP];
+ if (hp && hp->recv_acldata) {
hp->recv_acldata(conn, skb, flags);
return;
}
@@ -1644,7 +1657,8 @@ static inline void hci_scodata_packet(struct hci_dev *hdev, struct sk_buff *skb)
register struct hci_proto *hp;
/* Send to upper protocol */
- if ((hp = hci_proto[HCI_PROTO_SCO]) && hp->recv_scodata) {
+ hp = hci_proto[HCI_PROTO_SCO];
+ if (hp && hp->recv_scodata) {
hp->recv_scodata(conn, skb);
return;
}
@@ -1727,7 +1741,8 @@ static void hci_cmd_task(unsigned long arg)
if (atomic_read(&hdev->cmd_cnt) && (skb = skb_dequeue(&hdev->cmd_q))) {
kfree_skb(hdev->sent_cmd);
- if ((hdev->sent_cmd = skb_clone(skb, GFP_ATOMIC))) {
+ hdev->sent_cmd = skb_clone(skb, GFP_ATOMIC);
+ if (hdev->sent_cmd) {
atomic_dec(&hdev->cmd_cnt);
hci_send_frame(skb);
hdev->cmd_last_tx = jiffies;
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index 3c1957c..8923b36 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -39,7 +39,7 @@
#include <net/sock.h>
#include <asm/system.h>
-#include <asm/uaccess.h>
+#include <linux/uaccess.h>
#include <asm/unaligned.h>
#include <net/bluetooth/bluetooth.h>
@@ -1512,10 +1512,12 @@ static inline void hci_num_comp_pkts_evt(struct hci_dev *hdev, struct sk_buff *s
conn->sent -= count;
if (conn->type == ACL_LINK) {
- if ((hdev->acl_cnt += count) > hdev->acl_pkts)
+ hdev->acl_cnt += count;
+ if (hdev->acl_cnt > hdev->acl_pkts)
hdev->acl_cnt = hdev->acl_pkts;
} else {
- if ((hdev->sco_cnt += count) > hdev->sco_pkts)
+ hdev->sco_cnt += count;
+ if (hdev->sco_cnt > hdev->sco_pkts)
hdev->sco_cnt = hdev->sco_pkts;
}
}
diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c
index 83acd16..b3753ba 100644
--- a/net/bluetooth/hci_sock.c
+++ b/net/bluetooth/hci_sock.c
@@ -43,7 +43,7 @@
#include <net/sock.h>
#include <asm/system.h>
-#include <asm/uaccess.h>
+#include <linux/uaccess.h>
#include <asm/unaligned.h>
#include <net/bluetooth/bluetooth.h>
@@ -125,7 +125,8 @@ void hci_send_to_sock(struct hci_dev *hdev, struct sk_buff *skb)
continue;
}
- if (!(nskb = skb_clone(skb, GFP_ATOMIC)))
+ nskb = skb_clone(skb, GFP_ATOMIC);
+ if (!nskb)
continue;
/* Put type byte before the data */
@@ -370,7 +371,8 @@ static int hci_sock_bind(struct socket *sock, struct sockaddr *addr, int addr_le
}
if (haddr->hci_dev != HCI_DEV_NONE) {
- if (!(hdev = hci_dev_get(haddr->hci_dev))) {
+ hdev = hci_dev_get(haddr->hci_dev);
+ if (!hdev) {
err = -ENODEV;
goto done;
}
@@ -457,7 +459,8 @@ static int hci_sock_recvmsg(struct kiocb *iocb, struct socket *sock,
if (sk->sk_state == BT_CLOSED)
return 0;
- if (!(skb = skb_recv_datagram(sk, flags, noblock, &err)))
+ skb = skb_recv_datagram(sk, flags, noblock, &err);
+ if (!skb)
return err;
msg->msg_namelen = 0;
@@ -499,7 +502,8 @@ static int hci_sock_sendmsg(struct kiocb *iocb, struct socket *sock,
lock_sock(sk);
- if (!(hdev = hci_pi(sk)->hdev)) {
+ hdev = hci_pi(sk)->hdev;
+ if (!hdev) {
err = -EBADFD;
goto done;
}
@@ -509,7 +513,8 @@ static int hci_sock_sendmsg(struct kiocb *iocb, struct socket *sock,
goto done;
}
- if (!(skb = bt_skb_send_alloc(sk, len, msg->msg_flags & MSG_DONTWAIT, &err)))
+ skb = bt_skb_send_alloc(sk, len, msg->msg_flags & MSG_DONTWAIT, &err);
+ if (!skb)
goto done;
if (memcpy_fromiovec(skb_put(skb, len), msg->msg_iov, len)) {
--
1.7.1
^ permalink raw reply related
* Re: [PATCH] Bluetooth: Add new PID for Atheros 3011
From: Alexander Holler @ 2010-11-26 15:40 UTC (permalink / raw)
To: Bala Shanmugam
Cc: Marcel Holtmann, Shanmugamkamatchi Balashanmugam,
linux-bluetooth@vger.kernel.org
In-Reply-To: <4CEFA3A4.7030806@atheros.com>
Hello,
Am 26.11.2010 13:10, schrieb Bala Shanmugam:
> Marcel Holtmann wrote:
>> Hi Bala,
>>
>>> Atheros 3011 has small sflash firmware and needs to be
>>> blacklisted in transport driver to load actual firmware
>>> in DFU driver.
>>
>> please add an empty line here. The signed-off line should always be
>> separated from the commit message. The git am takes it literal as it is
>> and does not modify it.
>>
>>> Signed-off-by: Bala Shanmugam <sbalashanmugam@atheros.com>
>>> ---
>>> drivers/bluetooth/ath3k.c | 2 ++
>>> drivers/bluetooth/btusb.c | 3 +++
>>> 2 files changed, 5 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c
>>> index 128cae4..c70fb0b 100644
>>> --- a/drivers/bluetooth/ath3k.c
>>> +++ b/drivers/bluetooth/ath3k.c
>>> @@ -35,6 +35,8 @@
>>> static struct usb_device_id ath3k_table[] = {
>>> /* Atheros AR3011 */
>>> { USB_DEVICE(0x0CF3, 0x3000) },
>>
>> For the sake of readability add another empty line here as well.
>>
>>> + /* Atheros AR3011 with sflash firmware*/
>>> + { USB_DEVICE(0x0CF3, 0x3002) },
I don't understand this patch and starting bluetooth will fail here,
when that patch is applied (to 2.6.36.1):
-----------
[ 118.395793] usb 1-1.3: new full speed USB device using orion-ehci and
address 4
[ 118.506262] usb 1-1.3: New USB device found, idVendor=0cf3,
idProduct=3000
[ 118.506280] usb 1-1.3: New USB device strings: Mfr=0, Product=0,
SerialNumber=0
[ 118.654973] Bluetooth: Atheros AR30xx firmware driver ver 1.0
[ 119.072139] usbcore: registered new interface driver ath3k
[ 119.184499] usb 1-1.3: USB disconnect, address 4
[ 120.695642] usb 1-1.3: new full speed USB device using orion-ehci and
address 5
[ 120.806394] usb 1-1.3: New USB device found, idVendor=0cf3,
idProduct=3002
[ 120.806410] usb 1-1.3: New USB device strings: Mfr=0, Product=0,
SerialNumber=0
[ 125.815007] ath3k_load_firmware: Can't change to loading
configuration err
[ 125.815096] ath3k: probe of 1-1.3:1.0 failed with error -5
-----------
As I've understood it, the pid 0x3002 will only come up, when the
firmwire was already uploaded. So adding 0x3002 to ath3k seems to be wrong.
Regards,
Alexander
^ permalink raw reply
* Re: [PATCH] Bluetooth: Add new PID for Atheros 3011
From: Alexander Holler @ 2010-11-26 15:55 UTC (permalink / raw)
To: Bala Shanmugam
Cc: Marcel Holtmann, Shanmugamkamatchi Balashanmugam,
linux-bluetooth@vger.kernel.org
In-Reply-To: <4CEFD4D1.1040706@ahsoftware.de>
Am 26.11.2010 16:40, schrieb Alexander Holler:
> Hello,
>
> Am 26.11.2010 13:10, schrieb Bala Shanmugam:
>> Marcel Holtmann wrote:
>>> Hi Bala,
>>>
>>>> Atheros 3011 has small sflash firmware and needs to be
>>>> blacklisted in transport driver to load actual firmware
>>>> in DFU driver.
>>>
>>> please add an empty line here. The signed-off line should always be
>>> separated from the commit message. The git am takes it literal as it is
>>> and does not modify it.
>>>
>>>> Signed-off-by: Bala Shanmugam <sbalashanmugam@atheros.com>
>>>> ---
>>>> drivers/bluetooth/ath3k.c | 2 ++
>>>> drivers/bluetooth/btusb.c | 3 +++
>>>> 2 files changed, 5 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c
>>>> index 128cae4..c70fb0b 100644
>>>> --- a/drivers/bluetooth/ath3k.c
>>>> +++ b/drivers/bluetooth/ath3k.c
>>>> @@ -35,6 +35,8 @@
>>>> static struct usb_device_id ath3k_table[] = {
>>>> /* Atheros AR3011 */
>>>> { USB_DEVICE(0x0CF3, 0x3000) },
>>>
>>> For the sake of readability add another empty line here as well.
>>>
>>>> + /* Atheros AR3011 with sflash firmware*/
>>>> + { USB_DEVICE(0x0CF3, 0x3002) },
>
> I don't understand this patch and starting bluetooth will fail here,
> when that patch is applied (to 2.6.36.1):
>
> -----------
> [ 118.395793] usb 1-1.3: new full speed USB device using orion-ehci and
> address 4
> [ 118.506262] usb 1-1.3: New USB device found, idVendor=0cf3,
> idProduct=3000
> [ 118.506280] usb 1-1.3: New USB device strings: Mfr=0, Product=0,
> SerialNumber=0
> [ 118.654973] Bluetooth: Atheros AR30xx firmware driver ver 1.0
> [ 119.072139] usbcore: registered new interface driver ath3k
> [ 119.184499] usb 1-1.3: USB disconnect, address 4
> [ 120.695642] usb 1-1.3: new full speed USB device using orion-ehci and
> address 5
> [ 120.806394] usb 1-1.3: New USB device found, idVendor=0cf3,
> idProduct=3002
> [ 120.806410] usb 1-1.3: New USB device strings: Mfr=0, Product=0,
> SerialNumber=0
> [ 125.815007] ath3k_load_firmware: Can't change to loading configuration
> err
> [ 125.815096] ath3k: probe of 1-1.3:1.0 failed with error -5
> -----------
>
> As I've understood it, the pid 0x3002 will only come up, when the
> firmwire was already uploaded. So adding 0x3002 to ath3k seems to be wrong.
I assume bluetooth will fail here, because of the second part of that
patch which adds BTUSB_IGNORE to btusb.c:
------------
+ /* Atheros 3011 with sflash firmware */
+ { USB_DEVICE(0x0cf3, 0x3002), .driver_info = BTUSB_IGNORE },
------------
This means when the firmware was uploaded and the device identifies
itself afterwards with the pid 0x3002, btusb will ignore it.
Regards,
Alexander
^ permalink raw reply
* Re: [RFC 1/4] Bluetooth: clean up sco code
From: Anderson Lizardo @ 2010-11-26 16:14 UTC (permalink / raw)
To: Emeltchenko Andrei; +Cc: linux-bluetooth
In-Reply-To: <1290784965-4508-2-git-send-email-Andrei.Emeltchenko.news@gmail.com>
Hi Andrei,
On Fri, Nov 26, 2010 at 11:22 AM, Emeltchenko Andrei
<Andrei.Emeltchenko.news@gmail.com> wrote:
> @@ -828,13 +831,14 @@ static void sco_chan_del(struct sock *sk, int err)
>
> static void sco_conn_ready(struct sco_conn *conn)
> {
> - struct sock *parent, *sk;
> + struct sock *parent;
> + struct sock *sk = conn->sk;
I wonder if there is a problem with accessing conn->sk here outside
the lock protection?
>
> BT_DBG("conn %p", conn);
>
> sco_conn_lock(conn);
>
> - if ((sk = conn->sk)) {
> + if (sk) {
> sco_sock_clear_timer(sk);
> bh_lock_sock(sk);
> sk->sk_state = BT_CONNECTED;
Regards,
--
Anderson Lizardo
OpenBossa Labs - INdT
Manaus - Brazil
^ permalink raw reply
* Re: [RFC 4/4] Bluetooth: clean up hci code
From: Anderson Lizardo @ 2010-11-26 16:22 UTC (permalink / raw)
To: Emeltchenko Andrei; +Cc: linux-bluetooth
In-Reply-To: <1290784965-4508-5-git-send-email-Andrei.Emeltchenko.news@gmail.com>
Hi Andrei,
On Fri, Nov 26, 2010 at 11:22 AM, Emeltchenko Andrei
<Andrei.Emeltchenko.news@gmail.com> wrote:
> @@ -430,7 +433,8 @@ int hci_inquiry(void __user *arg)
> hci_dev_unlock_bh(hdev);
>
> timeo = ir.length * msecs_to_jiffies(2000);
> - if (do_inquiry && (err = hci_request(hdev, hci_inq_req, (unsigned long)&ir, timeo)) < 0)
> + err = hci_request(hdev, hci_inq_req, (unsigned long)&ir, timeo);
> + if (do_inquiry && err < 0)
> goto done;
I think there is a problem here. the "do_inquiry" flag will be checked
*after* the inquiry request is done. Maybe you should do something
like:
if (do_inquiry) {
err = hci_request(hdev, hci_inq_req, (unsigned long)&ir, timeo);
if (err < 0)
goto done;
}
Regards,
--
Anderson Lizardo
OpenBossa Labs - INdT
Manaus - Brazil
^ permalink raw reply
* Re: [RFC 4/4] Bluetooth: clean up hci code
From: Andrei Emeltchenko @ 2010-11-26 20:03 UTC (permalink / raw)
To: Anderson Lizardo; +Cc: linux-bluetooth
In-Reply-To: <AANLkTi=6N-D+mGgpQ6P9YM+Cvk0F87MDAq14rDLdAYYw@mail.gmail.com>
Hi Anderson,
> Hi Andrei,
>
> On Fri, Nov 26, 2010 at 11:22 AM, Emeltchenko Andrei
> <Andrei.Emeltchenko.news@gmail.com> wrote:
> > @@ -430,7 +433,8 @@ int hci_inquiry(void __user *arg)
> > hci_dev_unlock_bh(hdev);
> >
> > timeo = ir.length * msecs_to_jiffies(2000);
> > - if (do_inquiry && (err = hci_request(hdev, hci_inq_req,
> > (unsigned long)&ir, timeo)) < 0) + err = hci_request(hdev,
> > hci_inq_req, (unsigned long)&ir, timeo); + if (do_inquiry && err
> > < 0) goto done;
>
> I think there is a problem here. the "do_inquiry" flag will be checked
> *after* the inquiry request is done. Maybe you should do something
> like:
>
> if (do_inquiry) {
> err = hci_request(hdev, hci_inq_req,sur (unsigned long)&ir, timeo);
> if (err < 0)
> goto done;
> }
sure, thanks for reviewing.
Will rewrite this part.
-- Andrei
>
> Regards,
> --
> Anderson Lizardo
> OpenBossa Labs - INdT
> Manaus - Brazil
^ permalink raw reply
* wi2wi bluecore4
From: Brad Midgley @ 2010-11-28 16:12 UTC (permalink / raw)
To: linux-bluetooth
Hey
The gumstix overo comes with a wi2wi chip with a bluecore4-rom. I have
been unable to switch it to a baud rate other than 115k or to change
its SCO mapping. Any ideas?
I tried using bccmd before hciattaching the device but I can't find
any settings that get past a timeout. Once a timeout is reported, I
have to reset the board to try anything else.
# bccmd -t BCSP -d /dev/ttyS1 psset -r baudrate 0xEBF
Initialization timed out
I can hciattach it first, then use bccmd over hci, but as soon as I
try to change the baud then the chip won't talk to me any more.
# hciattach ttyS1 csr 115200
CSR build ID 0x0C-0x5C
Device setup complete
# bccmd psget baudrate
UART Baud rate: 0x01d8 (472)
# bccmd psset -r baudrate 0xEBF
# killall hciattach
# hciattach ttyS1 csr 921600 # also tried with "-s 115200"
Initialization timed out.
and fwiw, checking the SCO mapping gives me a strange result.
# bccmd psget mapsco
Can't execute command: No such device or address (6)
I tried changing the hardcoded 38k baud to 115k in csr_bsp.c just in
case that was why it won't talk directly to the chip, no luck.
fwiw, the chip reports
# hciconfig hci0 revision
hci0: Type: BR/EDR Bus: UART
BD Address: 00:19:88:0A:77:65 ACL MTU: 310:10 SCO MTU: 64:8
Unified 21e
Chip version: BlueCore4-ROM
Max key size: 128 bit
SCO mapping: PCM
Is there anything else I could try here?
--
Brad Midgley
^ permalink raw reply
* Re: wi2wi bluecore4
From: Brad Midgley @ 2010-11-28 16:22 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <AANLkTi=k=Dvsm6fySREejtP3sf7Cch3G2KYr4sYpg2Q4@mail.gmail.com>
forgot to mention... just doing the most straightforward hciattach
also won't work
# hciattach -s 115200 ttyS1 csr 921600
CSR build ID 0x0C-0x5C
Device setup complete
root@omap3-multi:~# hciconfig
hci0: Type: BR/EDR Bus: UART
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:0 acl:0 sco:0 events:0 errors:0
TX bytes:4 acl:0 sco:0 commands:1 errors:0
root@omap3-multi:~# hciconfig hci0 up
Can't init device hci0: Connection timed out (110)
root@omap3-multi:~# hciconfig hci0 revision
Can't read version info for hci0: Network is down (100)
--
Brad Midgley
^ permalink raw reply
* Re: [PATCH] Bluetooth: Add new PID for Atheros 3011
From: Bala Shanmugam @ 2010-11-29 6:09 UTC (permalink / raw)
To: Alexander Holler
Cc: Shanmugamkamatchi Balashanmugam, Marcel Holtmann,
linux-bluetooth@vger.kernel.org
In-Reply-To: <4CEFD855.6000503@ahsoftware.de>
Alexander Holler wrote:
> Am 26.11.2010 16:40, schrieb Alexander Holler:
>
>> Hello,
>>
>> Am 26.11.2010 13:10, schrieb Bala Shanmugam:
>>
>>> Marcel Holtmann wrote:
>>>
>>>> Hi Bala,
>>>>
>>>>
>>>>> Atheros 3011 has small sflash firmware and needs to be
>>>>> blacklisted in transport driver to load actual firmware
>>>>> in DFU driver.
>>>>>
>>>> please add an empty line here. The signed-off line should always be
>>>> separated from the commit message. The git am takes it literal as it is
>>>> and does not modify it.
>>>>
>>>>
>>>>> Signed-off-by: Bala Shanmugam <sbalashanmugam@atheros.com>
>>>>> ---
>>>>> drivers/bluetooth/ath3k.c | 2 ++
>>>>> drivers/bluetooth/btusb.c | 3 +++
>>>>> 2 files changed, 5 insertions(+), 0 deletions(-)
>>>>>
>>>>> diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c
>>>>> index 128cae4..c70fb0b 100644
>>>>> --- a/drivers/bluetooth/ath3k.c
>>>>> +++ b/drivers/bluetooth/ath3k.c
>>>>> @@ -35,6 +35,8 @@
>>>>> static struct usb_device_id ath3k_table[] = {
>>>>> /* Atheros AR3011 */
>>>>> { USB_DEVICE(0x0CF3, 0x3000) },
>>>>>
>>>> For the sake of readability add another empty line here as well.
>>>>
>>>>
>>>>> + /* Atheros AR3011 with sflash firmware*/
>>>>> + { USB_DEVICE(0x0CF3, 0x3002) },
>>>>>
>> I don't understand this patch and starting bluetooth will fail here,
>> when that patch is applied (to 2.6.36.1):
>>
>> -----------
>> [ 118.395793] usb 1-1.3: new full speed USB device using orion-ehci and
>> address 4
>> [ 118.506262] usb 1-1.3: New USB device found, idVendor=0cf3,
>> idProduct=3000
>> [ 118.506280] usb 1-1.3: New USB device strings: Mfr=0, Product=0,
>> SerialNumber=0
>> [ 118.654973] Bluetooth: Atheros AR30xx firmware driver ver 1.0
>> [ 119.072139] usbcore: registered new interface driver ath3k
>> [ 119.184499] usb 1-1.3: USB disconnect, address 4
>> [ 120.695642] usb 1-1.3: new full speed USB device using orion-ehci and
>> address 5
>> [ 120.806394] usb 1-1.3: New USB device found, idVendor=0cf3,
>> idProduct=3002
>> [ 120.806410] usb 1-1.3: New USB device strings: Mfr=0, Product=0,
>> SerialNumber=0
>> [ 125.815007] ath3k_load_firmware: Can't change to loading configuration
>> err
>> [ 125.815096] ath3k: probe of 1-1.3:1.0 failed with error -5
>> -----------
>>
>> As I've understood it, the pid 0x3002 will only come up, when the
>> firmwire was already uploaded. So adding 0x3002 to ath3k seems to be wrong.
>>
>
> I assume bluetooth will fail here, because of the second part of that
> patch which adds BTUSB_IGNORE to btusb.c:
>
> ------------
> + /* Atheros 3011 with sflash firmware */
> + { USB_DEVICE(0x0cf3, 0x3002), .driver_info = BTUSB_IGNORE },
> ------------
>
> This means when the firmware was uploaded and the device identifies
> itself afterwards with the pid 0x3002, btusb will ignore it.
>
> Regards,
>
> Alexander
>
Alex,
This patch is for Atheros 3011 with sflash firmware.
This device gets identified Generic bluetooth USB device when plugged in.
We are blacklisting 3002 in btusb to load actual firmware in ath3k.
Latest firmware comes up with PID 3005 and not 3002.
Regards,
Bala.
^ permalink raw reply
* Re: [PATCH] Bluetooth: Add new PID for Atheros 3011
From: Alexander Holler @ 2010-11-29 11:28 UTC (permalink / raw)
To: Bala Shanmugam
Cc: Shanmugamkamatchi Balashanmugam, Marcel Holtmann,
linux-bluetooth@vger.kernel.org
In-Reply-To: <4CF343A1.8010606@atheros.com>
Am 29.11.2010 07:09, schrieb Bala Shanmugam:
> This patch is for Atheros 3011 with sflash firmware.
> This device gets identified Generic bluetooth USB device when plugged in.
> We are blacklisting 3002 in btusb to load actual firmware in ath3k.
> Latest firmware comes up with PID 3005 and not 3002.
Thanks for the explanation. Is there a place in the web where the latest
firmware could be found?
The only place I've found to look at was the linux-firmware repository
and that repo currently has no new firmware for the ath3k.
Btw., did you have a look at the small patch for ath3k I posted lately:
http://marc.info/?l=linux-bluetooth&m=129045856314243
This avoids storing the firmware in RAM (I don't see a reason to do
that, it is never used again) and simplifies the small driver a bit.
Regards,
Alexander
^ permalink raw reply
* [PATCH] Attrib server should truncate attribute value to pdu length
From: Sheldon Demario @ 2010-11-29 12:44 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Sheldon Demario
When the size of attribute value is greater than pdu size, it should be
truncated to the pdu length - 2
---
attrib/att.c | 15 +++++++--------
1 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/attrib/att.c b/attrib/att.c
index 8655e5e..445b192 100644
--- a/attrib/att.c
+++ b/attrib/att.c
@@ -379,7 +379,7 @@ uint16_t dec_read_by_type_req(const uint8_t *pdu, int len, uint16_t *start,
uint16_t enc_read_by_type_resp(struct att_data_list *list, uint8_t *pdu, int len)
{
uint8_t *ptr;
- int i, w;
+ int i, w, l;
if (list == NULL)
return 0;
@@ -387,17 +387,16 @@ uint16_t enc_read_by_type_resp(struct att_data_list *list, uint8_t *pdu, int len
if (pdu == NULL)
return 0;
- if (len < list->len + 2)
- return 0;
+ l = MIN(len - 2, list->len);
pdu[0] = ATT_OP_READ_BY_TYPE_RESP;
- pdu[1] = list->len;
+ pdu[1] = l;
ptr = &pdu[2];
- for (i = 0, w = 2; i < list->num && w + list->len <= len; i++) {
- memcpy(ptr, list->data[i], list->len);
- ptr += list->len;
- w += list->len;
+ for (i = 0, w = 2; i < list->num && w + l <= len; i++) {
+ memcpy(ptr, list->data[i], l);
+ ptr += l;
+ w += l;
}
return w;
--
1.7.3.2
^ permalink raw reply related
* Re: [PATCH] Emit Connect signal for LE capable devices
From: Johan Hedberg @ 2010-11-29 12:52 UTC (permalink / raw)
To: Sheldon Demario; +Cc: linux-bluetooth
In-Reply-To: <1290705769-15487-1-git-send-email-sheldon.demario@openbossa.org>
Hi Sheldon,
On Thu, Nov 25, 2010, Sheldon Demario wrote:
> + if (le) {
> + evt_le_connection_complete *evt = ptr;
> + evt_bdaddr = &evt->peer_bdaddr;
> + evt_handle = evt->handle;
> + evt_status = evt->status;
> + } else {
> + evt_conn_complete *evt = ptr;
> + evt_bdaddr = &evt->bdaddr;
> + evt_handle = evt->handle;
> + evt_status = evt->status;
> +
> + if (evt->link_type != ACL_LINK)
> + return;
> + }
Instead of this kind of trickery, I have a feeling that the code would
be easier to read if you had a separate function for the LE connect
complete. Could try try to come up with a patch that does it like that?
Johan
^ permalink raw reply
* [PATCH] Removed unused define
From: Claudio Takahasi @ 2010-11-29 13:24 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Claudio Takahasi
---
src/device.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/src/device.c b/src/device.c
index 77353a4..65acc08 100644
--- a/src/device.c
+++ b/src/device.c
@@ -57,7 +57,6 @@
#include "storage.h"
#include "btio.h"
-#define DEFAULT_XML_BUF_SIZE 1024
#define DISCONNECT_TIMER 2
#define DISCOVERY_TIMER 2
--
1.7.3.2
^ permalink raw reply related
* [PATCH] hcid header cleanup
From: Claudio Takahasi @ 2010-11-29 13:24 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Claudio Takahasi
In-Reply-To: <1291037054-22247-1-git-send-email-claudio.takahasi@openbossa.org>
---
src/hcid.h | 5 -----
1 files changed, 0 insertions(+), 5 deletions(-)
diff --git a/src/hcid.h b/src/hcid.h
index a9484a6..2e16328 100644
--- a/src/hcid.h
+++ b/src/hcid.h
@@ -23,9 +23,6 @@
*
*/
-#include <bluetooth/hci.h>
-#include <bluetooth/hci_lib.h>
-
/*
* Scanning modes, used by DEV_SET_MODE
* off: remote devices are not allowed to find or connect to this device
@@ -62,8 +59,6 @@ struct main_opts {
uint8_t mode;
uint8_t discov_interval;
char deviceid[15]; /* FIXME: */
-
- int sock;
};
enum {
--
1.7.3.2
^ permalink raw reply related
* Re: [PATCH] Emit Connect signal for LE capable devices
From: Sheldon Demario @ 2010-11-29 13:34 UTC (permalink / raw)
To: linux-bluetooth, Johan Hedberg
In-Reply-To: <20101129125208.GA15399@jh-x301>
On 11/29/2010 07:52 AM, Johan Hedberg wrote:
> Hi Sheldon,
>
> On Thu, Nov 25, 2010, Sheldon Demario wrote:
>> + if (le) {
>> + evt_le_connection_complete *evt = ptr;
>> + evt_bdaddr =&evt->peer_bdaddr;
>> + evt_handle = evt->handle;
>> + evt_status = evt->status;
>> + } else {
>> + evt_conn_complete *evt = ptr;
>> + evt_bdaddr =&evt->bdaddr;
>> + evt_handle = evt->handle;
>> + evt_status = evt->status;
>> +
>> + if (evt->link_type != ACL_LINK)
>> + return;
>> + }
> Instead of this kind of trickery, I have a feeling that the code would
> be easier to read if you had a separate function for the LE connect
> complete. Could try try to come up with a patch that does it like that?
For sure, but don't you think that doing this way there will be a lot of
duplicated code?
Sheldon.
^ permalink raw reply
* Re: [PATCH] hcid header cleanup
From: Johan Hedberg @ 2010-11-29 13:35 UTC (permalink / raw)
To: Claudio Takahasi; +Cc: linux-bluetooth
In-Reply-To: <1291037054-22247-2-git-send-email-claudio.takahasi@openbossa.org>
Hi Claudio,
On Mon, Nov 29, 2010, Claudio Takahasi wrote:
> ---
> src/hcid.h | 5 -----
> 1 files changed, 0 insertions(+), 5 deletions(-)
Applied. Thanks.
Johan
^ permalink raw reply
* [PATCH] Fix problem with fetching 0.vcf vCard entry
From: Rafal Michalski @ 2010-11-29 13:51 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Rafal Michalski
Previously after attempting to get single 0.vcf vCard entry from phonebook
("telecom/pb/0.vcf") "Not Found" status was received and this entry wasn't
downloaded. Now "OK" status is received and valid 0.vcf vCard entry is
downloaded.
---
plugins/phonebook-tracker.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/plugins/phonebook-tracker.c b/plugins/phonebook-tracker.c
index 20053f6..a6b9e72 100644
--- a/plugins/phonebook-tracker.c
+++ b/plugins/phonebook-tracker.c
@@ -943,7 +943,7 @@
"nco:phoneNumber(?t) \"NOTACALL\" \"false\" \"false\" <%s> " \
"WHERE { " \
"<%s> a nco:Contact . " \
- "<%s> nco:hasPhoneNumber ?t . " \
+ "OPTIONAL { <%s> nco:hasPhoneNumber ?t . } " \
"} "
#define CONTACTS_COUNT_QUERY \
--
1.6.3.3
^ permalink raw reply related
* Re: [PATCH] Emit Connect signal for LE capable devices
From: Johan Hedberg @ 2010-11-29 14:05 UTC (permalink / raw)
To: Sheldon Demario; +Cc: linux-bluetooth
In-Reply-To: <4CF3ABD4.6080809@openbossa.org>
Hi Sheldon,
On Mon, Nov 29, 2010, Sheldon Demario wrote:
> On 11/29/2010 07:52 AM, Johan Hedberg wrote:
> >Hi Sheldon,
> >
> >On Thu, Nov 25, 2010, Sheldon Demario wrote:
> >>+ if (le) {
> >>+ evt_le_connection_complete *evt = ptr;
> >>+ evt_bdaddr =&evt->peer_bdaddr;
> >>+ evt_handle = evt->handle;
> >>+ evt_status = evt->status;
> >>+ } else {
> >>+ evt_conn_complete *evt = ptr;
> >>+ evt_bdaddr =&evt->bdaddr;
> >>+ evt_handle = evt->handle;
> >>+ evt_status = evt->status;
> >>+
> >>+ if (evt->link_type != ACL_LINK)
> >>+ return;
> >>+ }
> >Instead of this kind of trickery, I have a feeling that the code would
> >be easier to read if you had a separate function for the LE connect
> >complete. Could try try to come up with a patch that does it like that?
>
> For sure, but don't you think that doing this way there will be a
> lot of duplicated code?
There will be more code, but not a lot (I'm guessing 10 lines or so
more). In the end readability & maintainability wins over that. It's
also possible that we'll need more special casing for the LE events
(e.g. wrt. random addresses) in the future so having it separate will
help there too.
Johan
^ permalink raw reply
* Re: [PATCH] Fix problem with fetching 0.vcf vCard entry
From: Johan Hedberg @ 2010-11-29 14:13 UTC (permalink / raw)
To: Rafal Michalski; +Cc: linux-bluetooth
In-Reply-To: <1291038716-7244-1-git-send-email-michalski.raf@gmail.com>
Hi Rafal,
On Mon, Nov 29, 2010, Rafal Michalski wrote:
> Previously after attempting to get single 0.vcf vCard entry from phonebook
> ("telecom/pb/0.vcf") "Not Found" status was received and this entry wasn't
> downloaded. Now "OK" status is received and valid 0.vcf vCard entry is
> downloaded.
> ---
> plugins/phonebook-tracker.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
Pushed upstream. Thanks.
Johan
^ permalink raw reply
* Re: [PATCH] Removed unused define
From: Johan Hedberg @ 2010-11-29 15:02 UTC (permalink / raw)
To: Claudio Takahasi; +Cc: linux-bluetooth
In-Reply-To: <1291037054-22247-1-git-send-email-claudio.takahasi@openbossa.org>
Hi Claudio,
On Mon, Nov 29, 2010, Claudio Takahasi wrote:
> ---
> src/device.c | 1 -
> 1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/src/device.c b/src/device.c
> index 77353a4..65acc08 100644
> --- a/src/device.c
> +++ b/src/device.c
> @@ -57,7 +57,6 @@
> #include "storage.h"
> #include "btio.h"
>
> -#define DEFAULT_XML_BUF_SIZE 1024
> #define DISCONNECT_TIMER 2
> #define DISCOVERY_TIMER 2
Pushed upstream. Thanks.
Johan
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox