Hello,

The Broadcom BCM2045 chipset seems to be also one of those chipsets which report the SCO maximum packet incorrectly. The attached patch works around this problem. With this workaround, a bluetooth USB dongle with this chipset is able to send SCO data correctly.

The fix was verified using this USB dongle (MSI StarKey 2.0 (Ver 222-BW))
Bus 002 Device 004: ID 0a5c:2101 Broadcom Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          224 Wireless
  bDeviceSubClass         1 Radio Frequency
  bDeviceProtocol         1 Bluetooth
  bMaxPacketSize0        64
  idVendor           0x0a5c Broadcom Corp.
  idProduct          0x2101
  bcdDevice            0.00
  iManufacturer           1 Broadcom Corp
  iProduct                2 BCM92045DG Non-UHE
  iSerial                 0
  bNumConfigurations      1
and a Plantronics Explorer 320:
        Device Name: 320 Plantronics
        LMP Version: 1.2 (0x2) LMP Subversion: 0x8d1
        Manufacturer: Cambridge Silicon Radio (10)
        Features: 0xbc 0xe8 0x01 0x00 0x08 0x08 0x00 0x00
                <encryption> <slot offset> <timing accuracy> <role switch>
                <sniff mode> <SCO link> <HV3 packets> <u-law log> <A-law log>
                <CVSD> <AFH cap. slave> <AFH cap. master


ciao,
Xuân.

P.S.: Maybe it is possible to leave out the "HCI_RESET" part of the .driver_info field.