Merge master.kernel.org:/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6
authorLinus Torvalds <torvalds@g5.osdl.org>
Sat, 6 Aug 2005 17:18:48 +0000 (10:18 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 6 Aug 2005 17:18:48 +0000 (10:18 -0700)
drivers/bluetooth/bpa10x.c
drivers/bluetooth/hci_bcsp.c
drivers/bluetooth/hci_h4.c
drivers/bluetooth/hci_ldisc.c
drivers/bluetooth/hci_usb.c
include/net/bluetooth/bluetooth.h
net/bluetooth/hci_core.c
net/bluetooth/hci_event.c
net/bluetooth/lib.c
net/bluetooth/rfcomm/core.c

index 2771c861f185295e120270cc0ac63fd0131df201..f696da6f417b6439cae905488d1affff6a9378b4 100644 (file)
@@ -367,11 +367,8 @@ static inline void bpa10x_free_urb(struct urb *urb)
        if (!urb)
                return;
 
-       if (urb->setup_packet)
-               kfree(urb->setup_packet);
-
-       if (urb->transfer_buffer)
-               kfree(urb->transfer_buffer);
+       kfree(urb->setup_packet);
+       kfree(urb->transfer_buffer);
 
        usb_free_urb(urb);
 }
index c0ed213fc857d5405b76fb2f1739d6cc3701c88f..858fddb046de8caba0dc1b5c84051dff4d086270 100644 (file)
@@ -58,8 +58,6 @@
 #ifndef CONFIG_BT_HCIUART_DEBUG
 #undef  BT_DBG
 #define BT_DBG( A... )
-#undef  BT_DMP
-#define BT_DMP( A... )
 #endif
 
 static int hciextn = 1;
index ade94a57bb11292e15ad3e45f1c7ac3badedb9fc..533323b60e6399dec3eb3a81cfcb8d4f94306321 100644 (file)
@@ -57,8 +57,6 @@
 #ifndef CONFIG_BT_HCIUART_DEBUG
 #undef  BT_DBG
 #define BT_DBG( A... )
-#undef  BT_DMP
-#define BT_DMP( A... )
 #endif
 
 /* Initialize protocol */
@@ -125,7 +123,6 @@ static inline int h4_check_data_len(struct h4_struct *h4, int len)
 
        BT_DBG("len %d room %d", len, room);
        if (!len) {
-               BT_DMP(h4->rx_skb->data, h4->rx_skb->len);
                hci_recv_frame(h4->rx_skb);
        } else if (len > room) {
                BT_ERR("Data length is too large");
@@ -169,8 +166,6 @@ static int h4_recv(struct hci_uart *hu, void *data, int count)
                        case H4_W4_DATA:
                                BT_DBG("Complete data");
 
-                               BT_DMP(h4->rx_skb->data, h4->rx_skb->len);
-
                                hci_recv_frame(h4->rx_skb);
 
                                h4->rx_state = H4_W4_PACKET_TYPE;
index f766bc22c6bbe5e9e4e46a0eee51826fe89b9131..90be2eae52e0f99ae1c5cdb36420f16eac560c34 100644 (file)
@@ -57,8 +57,6 @@
 #ifndef CONFIG_BT_HCIUART_DEBUG
 #undef  BT_DBG
 #define BT_DBG( A... )
-#undef  BT_DMP
-#define BT_DMP( A... )
 #endif
 
 static int reset = 0;
index b120ecf7b8c96f1d856d83bd0d8a814af61b0c32..657719b8254f6c61d119128dec4ac7772ff824a2 100644 (file)
@@ -57,8 +57,6 @@
 #ifndef CONFIG_BT_HCIUSB_DEBUG
 #undef  BT_DBG
 #define BT_DBG(D...)
-#undef  BT_DMP
-#define BT_DMP(D...)
 #endif
 
 #ifndef CONFIG_BT_HCIUSB_ZERO_PACKET
@@ -110,6 +108,9 @@ static struct usb_device_id blacklist_ids[] = {
        /* Microsoft Wireless Transceiver for Bluetooth 2.0 */
        { USB_DEVICE(0x045e, 0x009c), .driver_info = HCI_RESET },
 
+       /* Kensington Bluetooth USB adapter */
+       { USB_DEVICE(0x047d, 0x105d), .driver_info = HCI_RESET },
+
        /* ISSC Bluetooth Adapter v3.1 */
        { USB_DEVICE(0x1131, 0x1001), .driver_info = HCI_RESET },
 
@@ -387,10 +388,8 @@ static void hci_usb_unlink_urbs(struct hci_usb *husb)
                        urb = &_urb->urb;
                        BT_DBG("%s freeing _urb %p type %d urb %p",
                                        husb->hdev->name, _urb, _urb->type, urb);
-                       if (urb->setup_packet)
-                               kfree(urb->setup_packet);
-                       if (urb->transfer_buffer)
-                               kfree(urb->transfer_buffer);
+                       kfree(urb->setup_packet);
+                       kfree(urb->transfer_buffer);
                        _urb_free(_urb);
                }
 
index 42a84c53678b1562811bec563d7bce81053f3a4c..06b24f637026c0ded9964d5cce77a2d1c7651001 100644 (file)
 #define BT_DBG(fmt, arg...)  printk(KERN_INFO "%s: " fmt "\n" , __FUNCTION__ , ## arg)
 #define BT_ERR(fmt, arg...)  printk(KERN_ERR  "%s: " fmt "\n" , __FUNCTION__ , ## arg)
 
-#ifdef HCI_DATA_DUMP
-#define BT_DMP(buf, len) bt_dump(__FUNCTION__, buf, len)
-#else
-#define BT_DMP(D...)
-#endif
-
 extern struct proc_dir_entry *proc_bt;
 
 /* Connection and socket states */
@@ -174,8 +168,6 @@ static inline int skb_frags_no(struct sk_buff *skb)
        return n;
 }
 
-void bt_dump(char *pref, __u8 *buf, int count);
-
 int bt_err(__u16 code);
 
 #endif /* __BLUETOOTH_H */
index fb5524365bc2970c1430a39a7017bbf6d0223c91..ffa26c10bfe82d48c425d2ebf8b45bfb1e4fe82a 100644 (file)
@@ -299,7 +299,6 @@ struct hci_dev *hci_dev_get(int index)
        read_unlock(&hci_dev_list_lock);
        return hdev;
 }
-EXPORT_SYMBOL(hci_dev_get);
 
 /* ---- Inquiry support ---- */
 static void inquiry_cache_flush(struct hci_dev *hdev)
@@ -1042,7 +1041,6 @@ int hci_send_cmd(struct hci_dev *hdev, __u16 ogf, __u16 ocf, __u32 plen, void *p
 
        return 0;
 }
-EXPORT_SYMBOL(hci_send_cmd);
 
 /* Get data from the previously sent command */
 void *hci_sent_cmd_data(struct hci_dev *hdev, __u16 ogf, __u16 ocf)
index c4b592b4ef10083fc5a270fb75ca419faf939e70..46367bd129c34d14df31b23437b5af0d2bc3089d 100644 (file)
@@ -1035,9 +1035,11 @@ void hci_si_event(struct hci_dev *hdev, int type, int dlen, void *data)
        ev->type = type;
        memcpy(ev->data, data, dlen);
 
+       bt_cb(skb)->incoming = 1;
+       do_gettimeofday(&skb->stamp);
+
        skb->pkt_type = HCI_EVENT_PKT;
        skb->dev = (void *) hdev;
        hci_send_to_sock(hdev, skb);
        kfree_skb(skb);
 }
-EXPORT_SYMBOL(hci_si_event);
index 9efb0a0936123fe4cf88cb8870eb1ac005855674..ee6a66979913c8fb4c0d4dca00335bcc3e89c235 100644 (file)
 
 #include <net/bluetooth/bluetooth.h>
 
-void bt_dump(char *pref, __u8 *buf, int count)
-{
-       char *ptr;
-       char line[100];
-       unsigned int i;
-
-       printk(KERN_INFO "%s: dump, len %d\n", pref, count);
-
-       ptr = line;
-       *ptr = 0;
-       for (i = 0; i < count; i++) {
-               ptr += sprintf(ptr, " %2.2X", buf[i]);
-
-               if (i && !((i + 1) % 20)) {
-                       printk(KERN_INFO "%s:%s\n", pref, line);
-                       ptr = line;
-                       *ptr = 0;
-               }
-       }
-
-       if (line[0])
-               printk(KERN_INFO "%s:%s\n", pref, line);
-}
-EXPORT_SYMBOL(bt_dump);
-
 void baswap(bdaddr_t *dst, bdaddr_t *src)
 {
        unsigned char *d = (unsigned char *) dst;
index e9e6fda66f1a3e221013c628612808ea5529e2a1..27bf5047cd3335967c90e8232ac8d9231ce94259 100644 (file)
@@ -389,8 +389,6 @@ static int __rfcomm_dlc_close(struct rfcomm_dlc *d, int err)
                rfcomm_dlc_unlock(d);
 
                skb_queue_purge(&d->tx_queue);
-               rfcomm_session_put(s);
-
                rfcomm_dlc_unlink(d);
        }
 
@@ -600,8 +598,6 @@ static struct rfcomm_session *rfcomm_session_create(bdaddr_t *src, bdaddr_t *dst
                goto failed;
        }
 
-       rfcomm_session_hold(s);
-
        s->initiator = 1;
 
        bacpy(&addr.l2_bdaddr, dst);