Skip to content
Snippets Groups Projects
  1. Jul 29, 2021
    • Chethan T N's avatar
      Bluetooth: btusb: Enable MSFT extension for Intel next generation controllers · f283f476
      Chethan T N authored
      
      The Intel TyphoonPeak, GarfieldPeak Bluetooth controllers
      support the Microsoft vendor extension and they are using
      0xFC1E for VsMsftOpCode.
      
      Verified on a GarfieldPeak device through bluetoothctl show
      
      Signed-off-by: default avatarChethan T N <chethan.tumkur.narayan@intel.com>
      Signed-off-by: default avatarMichael Sun <michaelfsun@google.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      f283f476
    • Michael Sun's avatar
      Bluetooth: btusb: Enable MSFT extension for WCN6855 controller · cbe6a044
      Michael Sun authored
      
      The Qualcomm WCN6855 Bluetooth controller supports the Microsoft vendor
      extension, enable them by setting VsMsftOpCode to 0xFD70.
      
      Verified on a WCN6855 device through bluetoothctl show
      
      Signed-off-by: default avatarMichael Sun <michaelfsun@google.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      cbe6a044
    • Ian Mackinnon's avatar
      Bluetooth: btusb: Load Broadcom firmware for Dell device 413c:8197 · 340cd23d
      Ian Mackinnon authored
      
      Remove the btusb_table entry for 413c:8197 so the device is handled
      by the later Dell vendor entry, which specifies patchram loading.
      
      T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#=  4 Spd=12   MxCh= 0
      D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=413c ProdID=8197 Rev= 1.12
      S:  Manufacturer=Dell Computer Corp
      S:  Product=DW380 Bluetooth Module
      S:  SerialNumber=74E54354F609
      C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=  0mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=btusb
      E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
      
      Signed-off-by: default avatarIan Mackinnon <imackinnon@gmail.com>
      Tested-By: default avatarAathif Naseer <aathif394@gmail.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      340cd23d
    • Len Baker's avatar
      Bluetooth: btmrvl_sdio: Remove all strcpy() uses · 785077fa
      Len Baker authored
      
      strcpy() performs no bounds checking on the destination buffer. This
      could result in linear overflows beyond the end of the buffer, leading
      to all kinds of misbehaviors. The safe replacement is strscpy() but in
      this case it is better to use the scnprintf to simplify the arithmetic.
      
      This is a previous step in the path to remove the strcpy() function
      entirely from the kernel.
      
      Signed-off-by: default avatarLen Baker <len.baker@gmx.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      785077fa
  2. Jul 24, 2021
  3. Jul 23, 2021
  4. Jul 22, 2021
    • Aaron Ma's avatar
      Bluetooth: btusb: Add support for Foxconn Mediatek Chip · 64832df2
      Aaron Ma authored
      
      Add support for another Foxconn / Hon Hai device with MT7921 chip.
      
      T:  Bus=05 Lev=01 Prnt=01 Port=03 Cnt=02 Dev#=  3 Spd=480  MxCh= 0
      D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=0489 ProdID=e0cd Rev= 1.00
      S:  Manufacturer=MediaTek Inc.
      S:  Product=Wireless_Device
      S:  SerialNumber=000000000
      C:* #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=100mA
      A:  FirstIf#= 0 IfCount= 3 Cls=e0(wlcon) Sub=01 Prot=01
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=125us
      E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      I:  If#= 1 Alt= 6 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  63 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  63 Ivl=1ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=8a(I) Atr=03(Int.) MxPS=  64 Ivl=125us
      E:  Ad=0a(O) Atr=03(Int.) MxPS=  64 Ivl=125us
      I:  If#= 2 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=8a(I) Atr=03(Int.) MxPS= 512 Ivl=125us
      E:  Ad=0a(O) Atr=03(Int.) MxPS= 512 Ivl=125us
      
      Signed-off-by: default avatarAaron Ma <aaron.ma@canonical.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      64832df2
    • Randy Dunlap's avatar
      Bluetooth: btrsi: use non-kernel-doc comment for copyright · ee3f96ad
      Randy Dunlap authored
      
      kernel-doc complains about a non-kernel-doc comment that uses "/**"
      to begin the comment, so change it to just "/*".
      
      drivers/bluetooth/btrsi.c:2: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
          * Copyright (c) 2017 Redpine Signals Inc.
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Cc: Aditya Srivastava <yashsri421@gmail.com>
      Cc: Marcel Holtmann <marcel@holtmann.org>
      Cc: Johan Hedberg <johan.hedberg@gmail.com>
      Cc: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
      Cc: linux-bluetooth@vger.kernel.org
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: netdev@vger.kernel.org
      Cc: Prameela Rani Garnepudi <prameela.j04cs@gmail.com>
      Cc: Sanjay Kumar Konduri <sanjay.konduri@redpinesignals.com>
      Cc: Siva Rebbagondla <siva.rebbagondla@redpinesignals.com>
      Cc: Kalle Valo <kvalo@codeaurora.org>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      ee3f96ad
    • Archie Pusaka's avatar
      Bluetooth: btrtl: Set MSFT opcode for RTL8852 · 7f6a750a
      Archie Pusaka authored
      
      RTL8852 support MSFT HCI extension, therefore set the proper MSFT
      opcode.
      
      Signed-off-by: default avatarArchie Pusaka <apusaka@chromium.org>
      Reviewed-by: default avatarMiao-chen Chou <mcchou@chromium.org>
      Reviewed-by: default avatarHilda Wu <hildawu@realtek.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      7f6a750a
    • Forest Crossman's avatar
      Bluetooth: btusb: Add support for LG LGSBWAC92/TWCM-K505D · 37356827
      Forest Crossman authored
      
      The LG LGSBWAC92/TWCM-K505D/EAT64454801/EAT64454802 (it goes by many
      names) is a combo WiFi/Bluetooth module that's used in several models of
      LG TVs. It uses the MediaTek MT7668AUN, which is already supported in
      btusb, but this device has a non-MediaTek VID:PID pair so to get it to
      work we just need to add it to the list of devices to probe.
      
      Device from /sys/kernel/debug/usb/devices:
      
      T:  Bus=09 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  6 Spd=480  MxCh= 0
      D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=043e ProdID=3109 Rev= 1.00
      S:  Manufacturer=MediaTek Inc.
      S:  Product=Wireless_Device
      S:  SerialNumber=000000000
      C:* #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=100mA
      A:  FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=01
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=125us
      E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      I:  If#= 1 Alt= 6 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  63 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  63 Ivl=1ms
      I:* If#= 2 Alt= 0 #EPs= 8 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=09(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      
      Signed-off-by: default avatarForest Crossman <cyrozap@gmail.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      37356827
    • Jun Miao's avatar
      Bluetooth: btusb: Fix a unspported condition to set available debug features · 20a831f0
      Jun Miao authored
      
      When reading the support debug features failed, there are not available
      features init. Continue to set the debug features is illogical, we should
      skip btintel_set_debug_features(), even if check it by "if (!features)".
      
      Fixes: c453b10c ("Bluetooth: btusb: Configure Intel debug feature based on available support")
      Signed-off-by: default avatarJun Miao <jun.miao@windriver.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      20a831f0
    • Wai Paulo Valerio Wang's avatar
      Bluetooth: btusb: Add support for IMC Networks Mediatek Chip · 2cdff8ca
      Wai Paulo Valerio Wang authored
      
      This add supports for IMC Networks Wireless_Device Media Chip
      which contains the MT7921 chipset.
      
      $ lsusb
      
      Bus 001 Device 004: ID 13d3:3563 IMC Networks Wireless_Device
      
      $ cat /sys/kernel/debug/usb/devices
      
      T:  Bus=01 Lev=01 Prnt=01 Port=03 Cnt=03 Dev#=  4 Spd=480  MxCh= 0
      D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=13d3 ProdID=3563 Rev= 1.00
      S:  Manufacturer=MediaTek Inc.
      S:  Product=Wireless_Device
      S:  SerialNumber=000000000
      C:* #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=100mA
      A:  FirstIf#= 0 IfCount= 3 Cls=e0(wlcon) Sub=01 Prot=01
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=125us
      E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      I:  If#= 1 Alt= 6 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  63 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  63 Ivl=1ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=8a(I) Atr=03(Int.) MxPS=  64 Ivl=125us
      E:  Ad=0a(O) Atr=03(Int.) MxPS=  64 Ivl=125us
      I:  If#= 2 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=8a(I) Atr=03(Int.) MxPS= 512 Ivl=125us
      E:  Ad=0a(O) Atr=03(Int.) MxPS= 512 Ivl=125us
      
      Signed-off-by: default avatarWai Paulo Valerio Wang <waicool20@gmail.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      2cdff8ca
    • Hans de Goede's avatar
      Bluetooth: hci_h5: Disable the hci_suspend_notifier for btrtl devices · b4a46996
      Hans de Goede authored
      
      The hci_suspend_notifier which was introduced last year, is causing
      problems for uart attached btrtl devices. These devices may loose their
      firmware and their baudrate setting over a suspend/resume.
      
      Since we don't even know the baudrate after a suspend/resume recovering
      from this is tricky. The driver solves this by treating these devices
      the same as USB BT HCIs which drop of the bus during suspend.
      
      Specifically the driver:
      1. Simply unconditionally turns the device fully off during
         system-suspend to save maximum power.
      2. Calls device_reprobe() from a workqueue to fully re-init the device
         from scratch on system-resume (unregistering the old HCI and
         registering a new HCI).
      
      This means that these devices do not benefit from the suspend / resume
      handling work done by the hci_suspend_notifier. At best this unnecessarily
      adds some time to the suspend/resume time.
      
      But in practice this is actually causing problems:
      
      1. These btrtl devices seem to not like the HCI_OP_WRITE_SCAN_ENABLE(
      SCAN_DISABLED) request being send to them when entering the
      BT_SUSPEND_CONFIGURE_WAKE state. The same request send on
      BT_SUSPEND_DISCONNECT works fine, but the second one send (unnecessarily?)
      from the BT_SUSPEND_CONFIGURE_WAKE transition causes the device to hang:
      
      [  573.497754] PM: suspend entry (s2idle)
      [  573.554615] Filesystems sync: 0.056 seconds
      [  575.837753] Bluetooth: hci0: Timed out waiting for suspend events
      [  575.837801] Bluetooth: hci0: Suspend timeout bit: 4
      [  575.837925] Bluetooth: hci0: Suspend notifier action (3) failed: -110
      
      2. The PM_POST_SUSPEND / BT_RUNNING transition races with the
      driver-unbinding done by the device_reprobe() work.
      If the hci_suspend_notifier wins the race it is talking to a dead
      device leading to the following errors being logged:
      
      [  598.686060] Bluetooth: hci0: Timed out waiting for suspend events
      [  598.686124] Bluetooth: hci0: Suspend timeout bit: 5
      [  598.686237] Bluetooth: hci0: Suspend notifier action (4) failed: -110
      
      In both cases things still work, but the suspend-notifier is causing
      these ugly errors getting logged and ut increase both the suspend- and
      the resume-time by 2 seconds.
      
      This commit avoids these problems by disabling the hci_suspend_notifier.
      
      Cc: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
      Cc: Vasily Khoruzhick <anarsoul@gmail.com>
      Cc: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      b4a46996
  5. Jun 26, 2021
    • Nigel Christian's avatar
      Bluetooth: hci_uart: Remove redundant assignment to fw_ptr · 1f053613
      Nigel Christian authored
      
      The variable fw_ptr is assigned a value that is not read and the same value
      is assigned in the patch goto. The assignment is redundant and can be
      removed.
      
      Addresses-Coverity: ("Unused value")
      Signed-off-by: default avatarNigel Christian <nigel.l.christian@gmail.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      1f053613
    • Colin Ian King's avatar
      Bluetooth: btmrvl: remove redundant continue statement · dd912f43
      Colin Ian King authored
      
      The continue statement in the for-loop has no effect,
      remove it.
      
      Addresses-Coverity: ("Continue has no effect")
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      dd912f43
    • Tim Jiang's avatar
      Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc. · 4f00bfb3
      Tim Jiang authored
      
      This is btsoc timing issue, after host start to downloading bt firmware,
      ep2 need time to switch from function acl to function dfu, so host add
      20ms delay as workaround.
      
      Signed-off-by: default avatarTim Jiang <tjiang@codeaurora.org>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      4f00bfb3
    • Tim Jiang's avatar
      Bluetooth: btusb: use default nvm if boardID is 0 for wcn6855. · ca17a5cc
      Tim Jiang authored
      
      if boardID is 0, will use the default nvm file without surfix.
      
      Signed-off-by: default avatarTim Jiang <tjiang@codeaurora.org>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      ca17a5cc
    • Zhang Qilong's avatar
      Bluetooth: btmtkuart: using pm_runtime_resume_and_get instead of pm_runtime_get_sync · a1b2fdf9
      Zhang Qilong authored
      
      Using pm_runtime_resume_and_get is more appropriate
      for simplifing code
      
      Signed-off-by: default avatarZhang Qilong <zhangqilong3@huawei.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      a1b2fdf9
    • Joakim Tjernlund's avatar
      Bluetooth: btrtl: rename USB fw for RTL8761 · 9fd2e294
      Joakim Tjernlund authored
      
      According Realteks own BT drivers firmware RTL8761B is for UART
      and RTL8761BU is for USB.
      
      Change existing 8761B to UART and add an 8761BU entry for USB
      
      Signed-off-by: default avatarJoakim Tjernlund <Joakim.Tjernlund@infinera.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      9fd2e294
    • Joakim Tjernlund's avatar
      Bluetooth: btusb: Add 0x0b05:0x190e Realtek 8761BU (ASUS BT500) device. · 33404381
      Joakim Tjernlund authored
      
      T:  Bus=01 Lev=01 Prnt=01 Port=08 Cnt=04 Dev#= 18 Spd=12   MxCh= 0
      D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=0b05 ProdID=190e Rev= 2.00
      S:  Manufacturer=Realtek
      S:  Product=ASUS USB-BT500
      S:  SerialNumber=xxxxxxxx
      C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      Signed-off-by: default avatarJoakim Tjernlund <Joakim.Tjernlund@infinera.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      33404381
    • Archie Pusaka's avatar
      Bluetooth: hci_h5: Add RTL8822CS capabilities · 3011faa2
      Archie Pusaka authored
      
      RTL8822 chipset supports WBS, and this information is conveyed in
      btusb.c. However, the UART driver doesn't have this information just
      yet.
      
      Signed-off-by: default avatarArchie Pusaka <apusaka@chromium.org>
      Reviewed-by: default avatarAbhishek Pandit-Subedi <abhishekpandit@chromium.org>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      3011faa2
    • Hilda Wu's avatar
      Bluetooth: btusb: Add support USB ALT 3 for WBS · e848dbd3
      Hilda Wu authored
      
      Because mSBC frames do not need to be aligned to the SCO packet
      boundary. Using USB ALT 3 let HCI payload >= 60 bytes, let mSBC
      data satisfy 60 Bytes avoid payload unaligned situation and fixed
      some headset no voise issue.
      
      USB Alt 3 supported also need HFP support transparent MTU in 72 Bytes.
      
      Signed-off-by: default avatarHilda Wu <hildawu@realtek.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      e848dbd3
    • Daniel Lenski's avatar
      Bluetooth: btusb: Add a new QCA_ROME device (0cf3:e500) · 0324d19c
      Daniel Lenski authored
      This patch adds the 0cf3:e500 Bluetooth device (from a QCA9377 board) as a
      QCA_ROME device.  It appears to be functionally identical to another device
      ID, also from a QCA9377 board, which was previously marked as QCA_ROME in
      0a03f98b
      ("Bluetooth: Add a new 04ca:3015 QCA_ROME device").
      
      Without this patch, the WiFi side of the QCA9377 board is slow or unusable
      when the Bluetooth side is in use.
      
      See https://askubuntu.com/a/1137852
      
       for another report of QCA_ROME fixing
      this issue for this device ID.
      
      /sys/kernel/debug/usb/devices:
      
      T:  Bus=05 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
      D:  Ver= 2.01 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=0cf3 ProdID=e500 Rev= 0.01
      C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      
      Signed-off-by: default avatarDaniel Lenski <dlenski@gmail.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      0324d19c
    • Venkata Lakshmi Narayana Gubba's avatar
      Bluetooth: btqca: Moved extracting rom version info to common place · 99fba8e3
      Venkata Lakshmi Narayana Gubba authored
      
      Moved extracting rom version info to common place as this code is
      common in all if else ladder in qca_uart_setup.
      
      Signed-off-by: default avatarVenkata Lakshmi Narayana Gubba <gubbaven@codeaurora.org>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      99fba8e3
    • Venkata Lakshmi Narayana Gubba's avatar
      Bluetooth: btqca: Add support for firmware image with mbn type for WCN6750 · ecf6b2d9
      Venkata Lakshmi Narayana Gubba authored
      
      1. Added support to download firmware image with mbn type for wcn6750
         as it supports mbn type image.
      2. If mbn type image is not present then check for tlv type image.
      3. Added debug logs for mbn type image.
      
      Signed-off-by: default avatarVenkata Lakshmi Narayana Gubba <gubbaven@codeaurora.org>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      ecf6b2d9
    • Venkata Lakshmi Narayana Gubba's avatar
      Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6750 · d8f97da1
      Venkata Lakshmi Narayana Gubba authored
      
      Added regulators,GPIOs and changes required to power on/off wcn6750.
      Added support for firmware download for wcn6750.
      
      Changes done in detail:
      1. Added regulators and corresponding current values.
      2. Added sw_ctrl GPIO pin which is output from BT SoC and indicates
         status of clock supply to BT SoC.
      3. Added inline function to check if the SoC type is wcn6750.
      4. Modified the function qca_wcn3990_init() to support wcn6750 and
         renamed it to qca_regulator_init().
      
      Signed-off-by: default avatarVenkata Lakshmi Narayana Gubba <gubbaven@codeaurora.org>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      d8f97da1
    • Mikhail Rudenko's avatar
      Bluetooth: btbcm: Add entry for BCM43430B0 UART Bluetooth · 27f4d1f2
      Mikhail Rudenko authored
      
      This patch adds the device ID for the BCM43430B0 module, found e.g. in
      certain revisions of AMPAK AP6212 chip. The required firmware file is
      named 'BCM43430B0.hcd'.
      
      Signed-off-by: default avatarMikhail Rudenko <mike.rudenko@gmail.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      27f4d1f2
    • Connor Abbott's avatar
      Bluetooth: btqca: Don't modify firmware contents in-place · b43ca511
      Connor Abbott authored
      
      struct firmware::data is marked const, and when the firmware is
      compressed with xz (default at least with Fedora) it's mapped read-only
      which results in a crash:
      
      BUG: unable to handle page fault for address: ffffae57c0ca5047
      PGD 100000067 P4D 100000067 PUD 1001ce067 PMD 10165a067 PTE 8000000112bba161
      Oops: 0003 [#1] SMP NOPTI
      CPU: 3 PID: 204 Comm: kworker/u17:0 Not tainted 5.12.1-test+ #1
      Hardware name: Dell Inc. XPS 13 9310/0F7M4C, BIOS 1.2.5 12/10/2020
      Workqueue: hci0 hci_power_on [bluetooth]
      RIP: 0010:qca_download_firmware+0x27c/0x4e0 [btqca]
      Code: 1b 75 04 80 48 0c 01 0f b7 c6 8d 54 02 0c 41 39 d7 0f 8e 62 fe ff ff 48 63 c2 4c 01 e8 0f b7 38 0f b7 70 02 66 83 ff 11 75 d3 <80> 48 0c 80 41 83 fc 03 7e 6e 88 58 0d eb ce 41 0f b6 45 0e 48 8b
      RSP: 0018:ffffae57c08dfc68 EFLAGS: 00010246
      RAX: ffffae57c0ca503b RBX: 000000000000000e RCX: 0000000000000000
      RDX: 0000000000000037 RSI: 0000000000000006 RDI: 0000000000000011
      RBP: ffff978d9949e000 R08: ffff978d84ed7540 R09: ffffae57c0ca5000
      R10: 000000000010cd00 R11: 0000000000000001 R12: 0000000000000005
      R13: ffffae57c0ca5004 R14: ffff978d98ca8680 R15: 00000000000016a9
      FS:  0000000000000000(0000) GS:ffff9794ef6c0000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: ffffae57c0ca5047 CR3: 0000000113d5a004 CR4: 0000000000770ee0
      PKRU: 55555554
      Call Trace:
       qca_uart_setup+0x2cb/0x1390 [btqca]
       ? qca_read_soc_version+0x136/0x220 [btqca]
       qca_setup+0x288/0xab0 [hci_uart]
       hci_dev_do_open+0x1f3/0x780 [bluetooth]
       ? try_to_wake_up+0x1c1/0x4f0
       hci_power_on+0x3f/0x200 [bluetooth]
       process_one_work+0x1ec/0x380
       worker_thread+0x53/0x3e0
       ? process_one_work+0x380/0x380
       kthread+0x11b/0x140
       ? kthread_associate_blkcg+0xa0/0xa0
       ret_from_fork+0x1f/0x30
      Modules linked in: llc ip_set nf_tables nfnetlink snd_soc_skl_hda_dsp(+) ip6table_filter snd_soc_hdac_hdmi ip6_tables qrtr_mhi iptable_filter snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic s>
       dell_wmi_sysman(+) dell_smbios snd dcdbas mhi vfat videobuf2_vmalloc i2c_i801 videobuf2_memops videobuf2_v4l2 dell_wmi_descriptor fat wmi_bmof soundcore i2c_smbus videobuf2_common libarc4 mei_me mei hid_se>
       i2c_hid_acpi i2c_hid video pinctrl_tigerlake fuse
      CR2: ffffae57c0ca5047
      
      This also seems to fix a failure to suspend due to the firmware
      download on bootup getting interrupted by the crash:
      
      Bluetooth: hci0: SSR or FW download time out
      PM: dpm_run_callback(): acpi_subsys_suspend+0x0/0x60 returns -110
      PM: Device serial0-0 failed to suspend: error -110
      PM: Some devices failed to suspend, or early wake event detected
      
      Fixes: 83e81961 ("Bluetooth: btqca: Introduce generic QCA ROME support")
      Cc: Venkata Lakshmi Narayana Gubba <gubbaven@codeaurora.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarConnor Abbott <cwabbott0@gmail.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      b43ca511
    • Pavel Skripkin's avatar
      Bluetooth: hci_qca: fix potential GPF · 59f90f13
      Pavel Skripkin authored
      
      In qca_power_shutdown() qcadev local variable is
      initialized by hu->serdev.dev private data, but
      hu->serdev can be NULL and there is a check for it.
      
      Since, qcadev is not used before
      
      	if (!hu->serdev)
      		return;
      
      we can move its initialization after this "if" to
      prevent GPF.
      
      Fixes: 5559904c ("Bluetooth: hci_qca: Add QCA Rome power off support to the qca_power_shutdown()")
      Cc: stable@vger.kernel.org # v5.6+
      Cc: Rocky Liao <rjliao@codeaurora.org>
      Signed-off-by: default avatarPavel Skripkin <paskripkin@gmail.com>
      Reviewed-by: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      59f90f13
    • Muhammad Usama Anjum's avatar
      Bluetooth: btusb: fix memory leak · 44e936d7
      Muhammad Usama Anjum authored
      
      If btusb_mtk_submit_wmt_recv_urb returns error, wc should be freed and
      then error should be returned to prevent memory leak.
      
      Addresses-Coverity: ("Prevent memory leak")
      Fixes: 4cbb375e997d ("Bluetooth: btusb: Fixed too many in-token issue for Mediatek Chip.")
      Signed-off-by: default avatarMuhammad Usama Anjum <musamaanjum@gmail.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      44e936d7
    • mark-yw.chen's avatar
      Bluetooth: btusb: Add support for Lite-On Mediatek Chip · 393dc5d1
      mark-yw.chen authored
      
      Add support for Lite-On Mediatek Chip (MT7921)
      Lite On VID = 04CA.
      
      * /sys/kernel/debug/usb/devices
      T:  Bus=01 Lev=03 Prnt=04 Port=01 Cnt=02 Dev#=  8 Spd=480  MxCh= 0
      D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=04ca ProdID=3802 Rev= 1.00
      S:  Manufacturer=MediaTek Inc.
      S:  Product=Wireless_Device
      S:  SerialNumber=000000000
      C:* #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=100mA
      A:  FirstIf#= 0 IfCount= 3 Cls=e0(wlcon) Sub=01 Prot=01
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=125us
      E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      I:  If#= 1 Alt= 6 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  63 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  63 Ivl=1ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=8a(I) Atr=03(Int.) MxPS=  64 Ivl=125us
      E:  Ad=0a(O) Atr=03(Int.) MxPS=  64 Ivl=125us
      I:  If#= 2 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=8a(I) Atr=03(Int.) MxPS=  64 Ivl=125us
      E:  Ad=0a(O) Atr=03(Int.) MxPS=  64 Ivl=125us
      
      Signed-off-by: default avatarmark-yw.chen <mark-yw.chen@mediatek.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      393dc5d1
    • mark-yw.chen's avatar
      Bluetooth: btusb: Fixed too many in-token issue for Mediatek Chip. · 8454ed9f
      mark-yw.chen authored
      
      This patch reduce in-token during download patch procedure.
      Don't submit urb for polling event before sending hci command.
      
      Signed-off-by: default avatarmark-yw.chen <mark-yw.chen@mediatek.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      8454ed9f
    • Colin Ian King's avatar
      Bluetooth: virtio_bt: add missing null pointer check on alloc_skb call return · 1cb027f2
      Colin Ian King authored
      
      The call to alloc_skb with the GFP_KERNEL flag can return a null sk_buff
      pointer, so add a null check to avoid any null pointer deference issues.
      
      Addresses-Coverity: ("Dereference null return value")
      Fixes: afd2daa2 ("Bluetooth: Add support for virtio transport driver")
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      1cb027f2
  6. Jun 03, 2021
  7. Jun 02, 2021
  8. May 13, 2021
    • Jiri Slaby's avatar
      tty: no checking of tty_unregister_ldisc · 357a6a87
      Jiri Slaby authored
      
      tty_unregister_ldisc now returns 0 = success. No need to check the
      return value. In fact, the users only warned if an error occured and
      didn't do anything useful anyway -- the ldisc module was unloaded in any
      case.
      
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Cc: William Hubbs <w.d.hubbs@gmail.com>
      Cc: Chris Brannon <chris@the-brannons.com>
      Cc: Kirk Reiser <kirk@reisers.ca>
      Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>
      Cc: Marcel Holtmann <marcel@holtmann.org>
      Cc: Johan Hedberg <johan.hedberg@gmail.com>
      Cc: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Wolfgang Grandegger <wg@grandegger.com>
      Cc: Marc Kleine-Budde <mkl@pengutronix.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Andreas Koensgen <ajk@comnets.uni-bremen.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Rodolfo Giometti <giometti@enneenne.com>
      Cc: Peter Ujfalusi <peter.ujfalusi@gmail.com>
      Cc: Liam Girdwood <lgirdwood@gmail.com>
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Takashi Iwai <tiwai@suse.com>
      Link: https://lore.kernel.org/r/20210505091928.22010-19-jslaby@suse.cz
      
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      357a6a87
    • Jiri Slaby's avatar
      tty: make tty_ldisc_ops a param in tty_unregister_ldisc · f81ee8b8
      Jiri Slaby authored
      
      Make tty_unregister_ldisc symmetric to tty_register_ldisc by accepting
      struct tty_ldisc_ops as a parameter instead of ldisc number. This avoids
      checking of the ldisc number bounds in tty_unregister_ldisc.
      
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Cc: William Hubbs <w.d.hubbs@gmail.com>
      Cc: Chris Brannon <chris@the-brannons.com>
      Cc: Kirk Reiser <kirk@reisers.ca>
      Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>
      Cc: Marcel Holtmann <marcel@holtmann.org>
      Cc: Johan Hedberg <johan.hedberg@gmail.com>
      Cc: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Wolfgang Grandegger <wg@grandegger.com>
      Cc: Marc Kleine-Budde <mkl@pengutronix.de>
      Cc: Andreas Koensgen <ajk@comnets.uni-bremen.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Rodolfo Giometti <giometti@enneenne.com>
      Cc: Peter Ujfalusi <peter.ujfalusi@gmail.com>
      Cc: Liam Girdwood <lgirdwood@gmail.com>
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Takashi Iwai <tiwai@suse.com>
      Link: https://lore.kernel.org/r/20210505091928.22010-17-jslaby@suse.cz
      
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f81ee8b8
    • Jiri Slaby's avatar
      tty: set tty_ldisc_ops::num statically · fbadf70a
      Jiri Slaby authored
      
      There is no reason to pass the ldisc number to tty_register_ldisc
      separately. Just set it in the already defined tty_ldisc_ops in all the
      ldiscs.
      
      This simplifies tty_register_ldisc a bit too (no need to set the num
      member there).
      
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Cc: William Hubbs <w.d.hubbs@gmail.com>
      Cc: Chris Brannon <chris@the-brannons.com>
      Cc: Kirk Reiser <kirk@reisers.ca>
      Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>
      Cc: Marcel Holtmann <marcel@holtmann.org>
      Cc: Johan Hedberg <johan.hedberg@gmail.com>
      Cc: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Wolfgang Grandegger <wg@grandegger.com>
      Cc: Marc Kleine-Budde <mkl@pengutronix.de>
      Cc: Andreas Koensgen <ajk@comnets.uni-bremen.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Rodolfo Giometti <giometti@enneenne.com>
      Cc: Peter Ujfalusi <peter.ujfalusi@gmail.com>
      Cc: Liam Girdwood <lgirdwood@gmail.com>
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Takashi Iwai <tiwai@suse.com>
      Link: https://lore.kernel.org/r/20210505091928.22010-15-jslaby@suse.cz
      
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      fbadf70a
Loading