Skip to content

Commit 15a892e

Browse files
committed
Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
2 parents 09fa9d8 + b509c02 commit 15a892e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+2542
-2733
lines changed

MAINTAINERS

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2302,6 +2302,14 @@ F: security/capability.c
23022302
F: security/commoncap.c
23032303
F: kernel/capability.c
23042304

2305+
CC2520 IEEE-802.15.4 RADIO DRIVER
2306+
M: Varka Bhadram <varkabhadram@gmail.com>
2307+
L: linux-wpan@vger.kernel.org
2308+
S: Maintained
2309+
F: drivers/net/ieee802154/cc2520.c
2310+
F: include/linux/spi/cc2520.h
2311+
F: Documentation/devicetree/bindings/net/ieee802154/cc2520.txt
2312+
23052313
CELL BROADBAND ENGINE ARCHITECTURE
23062314
M: Arnd Bergmann <arnd@arndb.de>
23072315
L: linuxppc-dev@lists.ozlabs.org
@@ -4689,6 +4697,13 @@ S: Maintained
46894697
F: net/ieee802154/
46904698
F: net/mac802154/
46914699
F: drivers/net/ieee802154/
4700+
F: include/linux/nl802154.h
4701+
F: include/linux/ieee802154.h
4702+
F: include/net/nl802154.h
4703+
F: include/net/mac802154.h
4704+
F: include/net/af_ieee802154.h
4705+
F: include/net/cfg802154.h
4706+
F: include/net/ieee802154_netdev.h
46924707
F: Documentation/networking/ieee802154.txt
46934708

46944709
IGUANAWORKS USB IR TRANSCEIVER

drivers/bluetooth/ath3k.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ static const struct usb_device_id ath3k_table[] = {
7979
{ USB_DEVICE(0x0489, 0xe057) },
8080
{ USB_DEVICE(0x0489, 0xe056) },
8181
{ USB_DEVICE(0x0489, 0xe05f) },
82+
{ USB_DEVICE(0x0489, 0xe078) },
8283
{ USB_DEVICE(0x04c5, 0x1330) },
8384
{ USB_DEVICE(0x04CA, 0x3004) },
8485
{ USB_DEVICE(0x04CA, 0x3005) },
@@ -130,6 +131,7 @@ static const struct usb_device_id ath3k_blist_tbl[] = {
130131
{ USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 },
131132
{ USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 },
132133
{ USB_DEVICE(0x0489, 0xe05f), .driver_info = BTUSB_ATH3012 },
134+
{ USB_DEVICE(0x0489, 0xe078), .driver_info = BTUSB_ATH3012 },
133135
{ USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 },
134136
{ USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 },
135137
{ USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },

drivers/bluetooth/btusb.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ static const struct usb_device_id blacklist_table[] = {
156156
{ USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 },
157157
{ USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 },
158158
{ USB_DEVICE(0x0489, 0xe05f), .driver_info = BTUSB_ATH3012 },
159+
{ USB_DEVICE(0x0489, 0xe078), .driver_info = BTUSB_ATH3012 },
159160
{ USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 },
160161
{ USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 },
161162
{ USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },

drivers/bluetooth/hci_h5.c

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,36 @@ static void h5_timed_event(unsigned long arg)
168168
hci_uart_tx_wakeup(hu);
169169
}
170170

171+
static void h5_peer_reset(struct hci_uart *hu)
172+
{
173+
struct h5 *h5 = hu->priv;
174+
struct sk_buff *skb;
175+
const unsigned char hard_err[] = { 0x10, 0x01, 0x00 };
176+
177+
BT_ERR("Peer device has reset");
178+
179+
h5->state = H5_UNINITIALIZED;
180+
181+
del_timer(&h5->timer);
182+
183+
skb_queue_purge(&h5->rel);
184+
skb_queue_purge(&h5->unrel);
185+
skb_queue_purge(&h5->unack);
186+
187+
h5->tx_seq = 0;
188+
h5->tx_ack = 0;
189+
190+
skb = bt_skb_alloc(3, GFP_ATOMIC);
191+
if (!skb)
192+
return;
193+
194+
bt_cb(skb)->pkt_type = HCI_EVENT_PKT;
195+
memcpy(skb_put(skb, 3), hard_err, 3);
196+
197+
/* Send Hardware Error to upper stack */
198+
hci_recv_frame(hu->hdev, skb);
199+
}
200+
171201
static int h5_open(struct hci_uart *hu)
172202
{
173203
struct h5 *h5;
@@ -283,8 +313,12 @@ static void h5_handle_internal_rx(struct hci_uart *hu)
283313
conf_req[2] = h5_cfg_field(h5);
284314

285315
if (memcmp(data, sync_req, 2) == 0) {
316+
if (h5->state == H5_ACTIVE)
317+
h5_peer_reset(hu);
286318
h5_link_control(hu, sync_rsp, 2);
287319
} else if (memcmp(data, sync_rsp, 2) == 0) {
320+
if (h5->state == H5_ACTIVE)
321+
h5_peer_reset(hu);
288322
h5->state = H5_INITIALIZED;
289323
h5_link_control(hu, conf_req, 3);
290324
} else if (memcmp(data, conf_req, 2) == 0) {

drivers/net/ieee802154/Kconfig

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,6 @@ menuconfig IEEE802154_DRIVERS
1010
If you say N, all options in this submenu will be skipped and
1111
disabled.
1212

13-
config IEEE802154_FAKEHARD
14-
tristate "Fake LR-WPAN driver with several interconnected devices"
15-
depends on IEEE802154_DRIVERS
16-
---help---
17-
Say Y here to enable the fake driver that serves as an example
18-
of HardMAC device driver.
19-
20-
This driver can also be built as a module. To do so say M here.
21-
The module will be called 'fakehard'.
22-
2313
config IEEE802154_FAKELB
2414
depends on IEEE802154_DRIVERS && MAC802154
2515
tristate "IEEE 802.15.4 loopback driver"

drivers/net/ieee802154/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
obj-$(CONFIG_IEEE802154_FAKEHARD) += fakehard.o
21
obj-$(CONFIG_IEEE802154_FAKELB) += fakelb.o
32
obj-$(CONFIG_IEEE802154_AT86RF230) += at86rf230.o
43
obj-$(CONFIG_IEEE802154_MRF24J40) += mrf24j40.o

0 commit comments

Comments
 (0)