• Marcel Holtmann's avatar
    Bluetooth: hci_bcm: Handle empty packet after firmware loading · 01d5e44a
    Marcel Holtmann authored
    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: default avatarMarcel Holtmann <marcel@holtmann.org>
    Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
    01d5e44a
hci_bcm.c 24 KB