• S
    Bluetooth: Workaround directed advertising bug in Broadcom controllers · 5f00f8ea
    Szymon Janc 提交于
    [ Upstream commit 4c371bb95cf06ded80df0e6139fdd77cee1d9a94 ]
    
    It appears that some Broadcom controllers (eg BCM20702A0) reject LE Set
    Advertising Parameters command if advertising intervals provided are not
    within range for undirected and low duty directed advertising.
    
    Workaround this bug by populating min and max intervals with 'valid'
    values.
    
    < HCI Command: LE Set Advertising Parameters (0x08|0x0006) plen 15
            Min advertising interval: 0.000 msec (0x0000)
            Max advertising interval: 0.000 msec (0x0000)
            Type: Connectable directed - ADV_DIRECT_IND (high duty cycle) (0x01)
            Own address type: Public (0x00)
            Direct address type: Random (0x01)
            Direct address: E2:F0:7B:9F:DC:F4 (Static)
            Channel map: 37, 38, 39 (0x07)
            Filter policy: Allow Scan Request from Any, Allow Connect Request from Any (0x00)
    > HCI Event: Command Complete (0x0e) plen 4
          LE Set Advertising Parameters (0x08|0x0006) ncmd 1
            Status: Invalid HCI Command Parameters (0x12)
    Signed-off-by: NSzymon Janc <szymon.janc@codecoup.pl>
    Tested-by: NSören Beye <linux@hypfer.de>
    Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
    Signed-off-by: NSasha Levin <sashal@kernel.org>
    Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
    5f00f8ea
hci_conn.c 43.5 KB