Bluetooth: Route traffic only through BR/EDR controller
authorAndrei Emeltchenko <andrei.emeltchenko@intel.com>
Tue, 19 Jun 2012 12:21:21 +0000 (15:21 +0300)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Sat, 30 Jun 2012 15:15:32 +0000 (12:15 -0300)
If AMP controller is first in the list then Bluetooth traffic might
be routed through it (if source is not specified). The patch
prevents this case and also checks that source is BR/EDR.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
net/bluetooth/hci_conn.c

index 9bbef6e..5ad7da2 100644 (file)
@@ -442,7 +442,8 @@ struct hci_dev *hci_get_route(bdaddr_t *dst, bdaddr_t *src)
 
        list_for_each_entry(d, &hci_dev_list, list) {
                if (!test_bit(HCI_UP, &d->flags) ||
-                   test_bit(HCI_RAW, &d->flags))
+                   test_bit(HCI_RAW, &d->flags) ||
+                   d->dev_type != HCI_BREDR)
                        continue;
 
                /* Simple routing: