• Szymon Janc's avatar
    Bluetooth: Increase HCI reset timeout in hci_dev_do_close · e1b6eb3c
    Szymon Janc authored
    I've noticed that my CSR usb dongle was not working if it was plugged in when
    PC was booting. It looks like I get two HCI reset command complete events (see
    hcidump logs below).
    The root cause is reset called from off_timer. Timeout for this reset to
    complete is set to 250ms and my bt dongle requires more time for replying with
    command complete event. After that, chip seems to reply with reset command
    complete event for next non-reset command.
    
    Attached patch increase mentioned timeout to HCI_INIT_TIMEOUT, this value is
    already used for timeouting hci_reset_req in hci_dev_reset().
    
    This might also be related to BT not working after suspend that was reported
    here some time ago.
    
    Hcidump log:
    
    2011-09-12 23:13:27.379465 < HCI Command: Reset (0x03|0x0003) plen 0
    2011-09-12 23:13:27.380797 > HCI Event: Command Complete (0x0e) plen 4
        Reset (0x03|0x0003) ncmd 1
        status 0x00
    2011-09-12 23:13:27.380859 < HCI Command: Read Local Supported Features (0x04|0x000
    3) plen 0
    2011-09-12 23:13:27.760789 > HCI Event: Command Complete (0x0e) plen 4
        Reset (0x03|0x0003) ncmd 1
        status 0x00
    2011-09-12 23:13:27.760831 < HCI Command: Read Local Version Information (0x04|0x00
    01) plen 0
    2011-09-12 23:13:27.764780 > HCI Event: Command Complete (0x0e) plen 12
        Read Local Version Information (0x04|0x0001) ncmd 1
        status 0x00
        HCI Version: 1.1 (0x1) HCI Revision: 0x36f
        LMP Version: 1.1 (0x1) LMP Subversion: 0x36f
        Manufacturer: Cambridge Silicon Radio (10)
    Signed-off-by: default avatarSzymon Janc <szymon@janc.net.pl>
    Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
    e1b6eb3c
hci_core.c 50.5 KB