linux-kernel-test/net/bluetooth
Szymon Janc 43611a7b16 Bluetooth: Increase HCI reset timeout in hci_dev_do_close
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: Szymon Janc <szymon@janc.net.pl>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
2011-11-07 17:24:50 -02:00
..
bnep Bluetooth: replace list_for_each with list_for_each_entry whenever possible 2011-11-07 17:24:46 -02:00
cmtp Bluetooth: replace list_for_each with list_for_each_entry whenever possible 2011-11-07 17:24:46 -02:00
hidp Bluetooth: replace list_for_each with list_for_each_entry whenever possible 2011-11-07 17:24:46 -02:00
rfcomm Bluetooth: rfcomm: Fix sleep in invalid context in rfcomm_security_cfm 2011-11-07 17:24:49 -02:00
af_bluetooth.c Bluetooth: Handle fragmented skbs in bt_sock_stream_recvmsg() 2011-09-27 18:16:07 -03:00
hci_conn.c Bluetooth: replace list_for_each with list_for_each_entry whenever possible 2011-11-07 17:24:46 -02:00
hci_core.c Bluetooth: Increase HCI reset timeout in hci_dev_do_close 2011-11-07 17:24:50 -02:00
hci_event.c Bluetooth: Fix command complete/status for discovery commands 2011-11-07 17:24:48 -02:00
hci_sock.c Bluetooth: Add mgmt events for blacklisting 2011-09-21 12:59:15 -03:00
hci_sysfs.c Bluetooth: replace list_for_each with list_for_each_entry whenever possible 2011-11-07 17:24:46 -02:00
Kconfig bluetooth: uses crypto interfaces, select CRYPTO 2011-06-27 15:09:39 -04:00
l2cap_core.c Bluetooth: set skbuffer priority based on L2CAP socket priority 2011-11-07 17:24:47 -02:00
l2cap_sock.c Bluetooth: set skbuffer priority based on L2CAP socket priority 2011-11-07 17:24:47 -02:00
lib.c Bluetooth: Add bt_printk 2011-06-30 19:17:12 -03:00
Makefile Bluetooth: Implement the first SMP commands 2011-06-13 15:11:55 -03:00
mgmt.c Bluetooth: Fix command complete/status for discovery commands 2011-11-07 17:24:48 -02:00
sco.c Bluetooth: sco: Fix lost wakeups waiting to accept socket 2011-08-11 19:50:26 -03:00
smp.c Bluetooth: Remove support for other SMP keys than the LTK 2011-09-21 12:59:16 -03:00