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

Commit 0cd06647 authored by John W. Linville's avatar John W. Linville
Browse files
parents e8c7b335 e0482103
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -81,6 +81,18 @@ config BT_HCIUART_LL

	  Say Y here to compile support for HCILL protocol.

config BT_HCIUART_3WIRE
	bool "Three-wire UART (H5) protocol support"
	depends on BT_HCIUART
	help
	  The HCI Three-wire UART Transport Layer makes it possible to
	  user the Bluetooth HCI over a serial port interface. The HCI
	  Three-wire UART Transport Layer assumes that the UART
	  communication may have bit errors, overrun errors or burst
	  errors and thereby making CTS/RTS lines unnecessary.

	  Say Y here to compile support for Three-wire UART protocol.

config BT_HCIBCM203X
	tristate "HCI BCM203x USB driver"
	depends on USB
+1 −0
Original line number Diff line number Diff line
@@ -28,4 +28,5 @@ hci_uart-$(CONFIG_BT_HCIUART_H4) += hci_h4.o
hci_uart-$(CONFIG_BT_HCIUART_BCSP)	+= hci_bcsp.o
hci_uart-$(CONFIG_BT_HCIUART_LL)	+= hci_ll.o
hci_uart-$(CONFIG_BT_HCIUART_ATH3K)	+= hci_ath.o
hci_uart-$(CONFIG_BT_HCIUART_3WIRE)	+= hci_h5.o
hci_uart-objs				:= $(hci_uart-y)
+4 −2
Original line number Diff line number Diff line
@@ -621,7 +621,6 @@ static int bluecard_hci_flush(struct hci_dev *hdev)
static int bluecard_hci_open(struct hci_dev *hdev)
{
	bluecard_info_t *info = hci_get_drvdata(hdev);
	unsigned int iobase = info->p_dev->resource[0]->start;

	if (test_bit(CARD_HAS_PCCARD_ID, &(info->hw_state)))
		bluecard_hci_set_baud_rate(hdev, DEFAULT_BAUD_RATE);
@@ -630,6 +629,8 @@ static int bluecard_hci_open(struct hci_dev *hdev)
		return 0;

	if (test_bit(CARD_HAS_PCCARD_ID, &(info->hw_state))) {
		unsigned int iobase = info->p_dev->resource[0]->start;

		/* Enable LED */
		outb(0x08 | 0x20, iobase + 0x30);
	}
@@ -641,7 +642,6 @@ static int bluecard_hci_open(struct hci_dev *hdev)
static int bluecard_hci_close(struct hci_dev *hdev)
{
	bluecard_info_t *info = hci_get_drvdata(hdev);
	unsigned int iobase = info->p_dev->resource[0]->start;

	if (!test_and_clear_bit(HCI_RUNNING, &(hdev->flags)))
		return 0;
@@ -649,6 +649,8 @@ static int bluecard_hci_close(struct hci_dev *hdev)
	bluecard_hci_flush(hdev);

	if (test_bit(CARD_HAS_PCCARD_ID, &(info->hw_state))) {
		unsigned int iobase = info->p_dev->resource[0]->start;

		/* Disable LED */
		outb(0x00, iobase + 0x30);
	}
+1 −1
Original line number Diff line number Diff line
@@ -664,7 +664,7 @@ static int bt3c_check_config(struct pcmcia_device *p_dev, void *priv_data)
{
	int *try = priv_data;

	if (try == 0)
	if (!try)
		p_dev->io_lines = 16;

	if ((p_dev->resource[0]->end != 8) || (p_dev->resource[0]->start == 0))
+5 −3
Original line number Diff line number Diff line
@@ -47,10 +47,11 @@ EXPORT_SYMBOL_GPL(btmrvl_interrupt);
bool btmrvl_check_evtpkt(struct btmrvl_private *priv, struct sk_buff *skb)
{
	struct hci_event_hdr *hdr = (void *) skb->data;

	if (hdr->evt == HCI_EV_CMD_COMPLETE) {
		struct hci_ev_cmd_complete *ec;
		u16 opcode, ocf, ogf;

	if (hdr->evt == HCI_EV_CMD_COMPLETE) {
		ec = (void *) (skb->data + HCI_EVENT_HDR_SIZE);
		opcode = __le16_to_cpu(ec->opcode);
		ocf = hci_opcode_ocf(opcode);
@@ -64,7 +65,8 @@ bool btmrvl_check_evtpkt(struct btmrvl_private *priv, struct sk_buff *skb)
		}

		if (ogf == OGF) {
			BT_DBG("vendor event skipped: ogf 0x%4.4x", ogf);
			BT_DBG("vendor event skipped: ogf 0x%4.4x ocf 0x%4.4x",
			       ogf, ocf);
			kfree_skb(skb);
			return false;
		}
Loading