linux/drivers/bluetooth
Marcel Holtmann 01d5e44ace Bluetooth: hci_bcm: Handle empty packet after firmware loading
The Broadcom controller on the Raspberry Pi3 sends an empty packet with
packet type 0x00 after launching the firmware. This will cause logging
of errors.

  Bluetooth: hci0: Frame reassembly failed (-84)

Since this seems to be an intented behaviour of the controller, handle
it gracefully by parsing that empty packet with packet type 0x00 and
then just simply report it as diagnostic packet.

With that change no errors are logging and the packet itself is actually
recorded in the Bluetooth monitor traces.

  < HCI Command: Broadcom Launch RAM (0x3f|0x004e) plen 4
         Address: 0xffffffff
  > HCI Event: Command Complete (0x0e) plen 4
       Broadcom Launch RAM (0x3f|0x004e) ncmd 1
         Status: Success (0x00)
  = Vendor Diagnostic (len 0)
  < HCI Command: Broadcom Update UART Baud Rate (0x3f|0x0018) plen 6
         00 00 00 10 0e 00                                ......
  > HCI Event: Command Complete (0x0e) plen 4
       Broadcom Update UART Baud Rate (0x3f|0x0018) ncmd 1
         Status: Success (0x00)
  < HCI Command: Reset (0x03|0x0003) plen 0
  > HCI Event: Command Complete (0x0e) plen 4
       Reset (0x03|0x0003) ncmd 1
         Status: Success (0x00)

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2017-08-17 22:51:50 +03:00
..
ath3k.c Bluetooth: Style fix - align block comments 2017-07-22 08:39:39 +02:00
bcm203x.c bluetooth: bcm203x: don't print error when allocating urb fails 2016-09-27 12:20:17 +02:00
bfusb.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
bluecard_cs.c Bluetooth: bluecard: blink LED during continuous activity 2017-08-07 19:42:07 +02:00
bpa10x.c networking: make skb_push & __skb_push return void pointers 2017-06-16 11:48:40 -04:00
bt3c_cs.c Bluetooth: Style fix - align block comments 2017-07-22 08:39:39 +02:00
btbcm.c Bluetooth: btbcm: Consolidate the controller information commands 2017-08-17 12:11:24 +03:00
btbcm.h Bluetooth: btbcm: Support the BCM4354 Bluetooth UART device 2015-06-17 18:56:53 +02:00
btintel.c Bluetooth: btintel: Add MODULE_FIRMWARE entries for iBT 3.5 controllers 2017-05-23 19:54:55 +02:00
btintel.h Bluetooth: btintel: Create common Intel Version Read function 2015-12-10 00:51:51 +01:00
btmrvl_debugfs.c Bluetooth: btmrvl add firmware dump support 2014-12-03 17:35:51 +01:00
btmrvl_drv.h Bluetooth: btmrvl: drop duplicate header slab.h 2016-12-08 07:44:56 +01:00
btmrvl_main.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-07-05 12:31:59 -07:00
btmrvl_sdio.c Bluetooth: Style fix - align block comments 2017-07-22 08:39:39 +02:00
btmrvl_sdio.h btmrvl: add platform specific wakeup interrupt support 2016-05-02 19:26:15 +02:00
btqca.c Bluetooth: btqca: Fixed a coding style error 2017-07-20 11:18:35 +02:00
btqca.h Bluetooth: btqca: Introduce generic QCA ROME support 2015-08-10 23:52:20 +02:00
btqcomsmd.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
btrtl.c Bluetooth: btrtl: Fix a error code in rtl_load_config() 2017-07-28 19:29:08 +03:00
btrtl.h Bluetooth: btrtl: Create separate module for Realtek BT driver 2015-05-14 12:04:12 +02:00
btsdio.c Bluetooth: Style fix - align block comments 2017-07-22 08:39:39 +02:00
btuart_cs.c Bluetooth: Style fix - align block comments 2017-07-22 08:39:39 +02:00
btusb.c Bluetooth: btusb: driver to enable the usb-wakeup feature 2017-08-16 11:48:46 +02:00
btwilink.c Bluetooth: Style fix - align block comments 2017-07-22 08:39:39 +02:00
dtl1_cs.c networking: add and use skb_put_u8() 2017-06-16 11:48:40 -04:00
hci_ag6xx.c Bluetooth: hci_uart: Add diag and address support for Intel/AG6xx 2016-02-29 19:25:22 +02:00
hci_ath.c Bluetooth: Use new hci_skb_pkt_* wrappers for drivers 2015-11-19 17:50:27 +01:00
hci_bcm.c Bluetooth: hci_bcm: Handle empty packet after firmware loading 2017-08-17 22:51:50 +03:00
hci_bcsp.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
hci_h4.c Bluetooth: hci_uart: Fix uninitialized alignment value 2017-07-31 13:27:37 +03:00
hci_h5.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
hci_intel.c networking: add and use skb_put_u8() 2017-06-16 11:48:40 -04:00
hci_ldisc.c Bluetooth: Style fix - align block comments 2017-07-22 08:39:39 +02:00
hci_ll.c Bluetooth: Style fix - align block comments 2017-07-22 08:39:39 +02:00
hci_mrvl.c networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
hci_nokia.c Bluetooth: hci_nokia: Use new hci_uart_unregister_device() function 2017-07-20 11:18:36 +02:00
hci_qca.c networking: add and use skb_put_u8() 2017-06-16 11:48:40 -04:00
hci_serdev.c Bluetooth: hci_serdev: Introduce hci_uart_unregister_device() 2017-07-20 11:18:36 +02:00
hci_uart.h Bluetooth: hci_serdev: Introduce hci_uart_unregister_device() 2017-07-20 11:18:36 +02:00
hci_vhci.c networking: add and use skb_put_u8() 2017-06-16 11:48:40 -04:00
Kconfig Bluetooth: hci_bcm: Add serdev support 2017-08-17 21:44:55 +02:00
Makefile Bluetooth: try to improve CONFIG_SERIAL_DEV_BUS dependency 2017-04-22 10:28:40 +02:00