• Marcel Holtmann's avatar
    Bluetooth: btusb: Use matching names for Broadcom firmware files · 18835dfa
    Marcel Holtmann authored
    The Broadcom firmware files are named with firmware version information
    encoded into lmp_subver field. So BCM20702B0_002.001.014.0527.0607.hex
    would be represented by 0x410e. To allow for an easier decoding of the
    actual firmware names, provide an internal table that does the mapping
    and request the firmware file by name.
    
    Bluetooth: hci0: BCM20702B0 (002.001.014) build 0607
    
    Now the complicated encoding of lmp_subver will be decoded and turned
    into the name and firmware version information from the firmware files.
    
    The previous attempt of using udev->product failed badly since it never
    contains any matching entry to the actual hardware or firmware files
    distributed by Broadcom in their Windows drivers. It is even worse since
    it can change depending on if the internal bootstrapping happened before
    the USB bus enumeration or after. This caused many race conditions.
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
    18835dfa
btusb.c 75.9 KB