• Ulisses Furquim's avatar
    Bluetooth: Fix registering hci with duplicate name · fc50744c
    Ulisses Furquim authored
    When adding HCI devices hci_register_dev assigns the same name
    hci1 for subsequently added AMP devices.
    
    ...
    [ 6958.381886] sysfs: cannot create duplicate filename
           '/devices/virtual/bluetooth/hci1
    ...
    
    We assume id starts with the number we'll try to add the new device
    and keep iterating until we find the proper place. The only difference
    is we start with 0 for BR/EDR device and 1 for AMP devices (thus AMP
    devices will never receive register as index 0). Then every hdev->id in
    the _ordered_ list <= to the id we want we increment id and move the
    variable head. In the end we'll have id as the first available one and
    head is where you need to add hdev after to keep the list ordered.
    Reported-by: default avatarAndrei Emeltchenko <andrei.emeltchenko@intel.com>
    Signed-off-by: default avatarUlisses Furquim <ulisses@profusion.mobi>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    fc50744c
hci_core.c 62.2 KB