Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 15a892e7 authored by John W. Linville's avatar John W. Linville
Browse files

Merge branch 'for-upstream' of...

parents 09fa9d87 b509c02d
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -2302,6 +2302,14 @@ F: security/capability.c
F:	security/commoncap.c
F:	kernel/capability.c

CC2520 IEEE-802.15.4 RADIO DRIVER
M:	Varka Bhadram <varkabhadram@gmail.com>
L:	linux-wpan@vger.kernel.org
S:	Maintained
F:	drivers/net/ieee802154/cc2520.c
F:	include/linux/spi/cc2520.h
F:	Documentation/devicetree/bindings/net/ieee802154/cc2520.txt

CELL BROADBAND ENGINE ARCHITECTURE
M:	Arnd Bergmann <arnd@arndb.de>
L:	linuxppc-dev@lists.ozlabs.org
@@ -4689,6 +4697,13 @@ S: Maintained
F:	net/ieee802154/
F:	net/mac802154/
F:	drivers/net/ieee802154/
F:	include/linux/nl802154.h
F:	include/linux/ieee802154.h
F:	include/net/nl802154.h
F:	include/net/mac802154.h
F:	include/net/af_ieee802154.h
F:	include/net/cfg802154.h
F:	include/net/ieee802154_netdev.h
F:	Documentation/networking/ieee802154.txt

IGUANAWORKS USB IR TRANSCEIVER
+2 −0
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ static const struct usb_device_id ath3k_table[] = {
	{ USB_DEVICE(0x0489, 0xe057) },
	{ USB_DEVICE(0x0489, 0xe056) },
	{ USB_DEVICE(0x0489, 0xe05f) },
	{ USB_DEVICE(0x0489, 0xe078) },
	{ USB_DEVICE(0x04c5, 0x1330) },
	{ USB_DEVICE(0x04CA, 0x3004) },
	{ USB_DEVICE(0x04CA, 0x3005) },
@@ -130,6 +131,7 @@ static const struct usb_device_id ath3k_blist_tbl[] = {
	{ USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x0489, 0xe05f), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x0489, 0xe078), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },
+1 −0
Original line number Diff line number Diff line
@@ -156,6 +156,7 @@ static const struct usb_device_id blacklist_table[] = {
	{ USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x0489, 0xe05f), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x0489, 0xe078), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 },
	{ USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },
+34 −0
Original line number Diff line number Diff line
@@ -168,6 +168,36 @@ static void h5_timed_event(unsigned long arg)
	hci_uart_tx_wakeup(hu);
}

static void h5_peer_reset(struct hci_uart *hu)
{
	struct h5 *h5 = hu->priv;
	struct sk_buff *skb;
	const unsigned char hard_err[] = { 0x10, 0x01, 0x00 };

	BT_ERR("Peer device has reset");

	h5->state = H5_UNINITIALIZED;

	del_timer(&h5->timer);

	skb_queue_purge(&h5->rel);
	skb_queue_purge(&h5->unrel);
	skb_queue_purge(&h5->unack);

	h5->tx_seq = 0;
	h5->tx_ack = 0;

	skb = bt_skb_alloc(3, GFP_ATOMIC);
	if (!skb)
		return;

	bt_cb(skb)->pkt_type = HCI_EVENT_PKT;
	memcpy(skb_put(skb, 3), hard_err, 3);

	/* Send Hardware Error to upper stack */
	hci_recv_frame(hu->hdev, skb);
}

static int h5_open(struct hci_uart *hu)
{
	struct h5 *h5;
@@ -283,8 +313,12 @@ static void h5_handle_internal_rx(struct hci_uart *hu)
	conf_req[2] = h5_cfg_field(h5);

	if (memcmp(data, sync_req, 2) == 0) {
		if (h5->state == H5_ACTIVE)
			h5_peer_reset(hu);
		h5_link_control(hu, sync_rsp, 2);
	} else if (memcmp(data, sync_rsp, 2) == 0) {
		if (h5->state == H5_ACTIVE)
			h5_peer_reset(hu);
		h5->state = H5_INITIALIZED;
		h5_link_control(hu, conf_req, 3);
	} else if (memcmp(data, conf_req, 2) == 0) {
+0 −10
Original line number Diff line number Diff line
@@ -10,16 +10,6 @@ menuconfig IEEE802154_DRIVERS
	  If you say N, all options in this submenu will be skipped and
	  disabled.

config IEEE802154_FAKEHARD
	tristate "Fake LR-WPAN driver with several interconnected devices"
	depends on  IEEE802154_DRIVERS
	---help---
	  Say Y here to enable the fake driver that serves as an example
	  of HardMAC device driver.

	  This driver can also be built as a module. To do so say M here.
	  The module will be called 'fakehard'.

config IEEE802154_FAKELB
	depends on IEEE802154_DRIVERS && MAC802154
	tristate "IEEE 802.15.4 loopback driver"
Loading