1. 01 10月, 2019 1 次提交
  2. 19 9月, 2019 1 次提交
  3. 10 9月, 2019 1 次提交
    • M
      Bluetooth: btqca: Add a short delay before downloading the NVM · 32e912b9
      Matthias Kaehlcke 提交于
      [ Upstream commit 8059ba0bd0e4694e51c2ee6438a77b325f06c0d5 ]
      
      On WCN3990 downloading the NVM sometimes fails with a "TLV response
      size mismatch" error:
      
      [  174.949955] Bluetooth: btqca.c:qca_download_firmware() hci0: QCA Downloading qca/crnv21.bin
      [  174.958718] Bluetooth: btqca.c:qca_tlv_send_segment() hci0: QCA TLV response size mismatch
      
      It seems the controller needs a short time after downloading the
      firmware before it is ready for the NVM. A delay as short as 1 ms
      seems sufficient, make it 10 ms just in case. No event is received
      during the delay, hence we don't just silently drop an extra event.
      Signed-off-by: NMatthias Kaehlcke <mka@chromium.org>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NSasha Levin <sashal@kernel.org>
      32e912b9
  4. 04 8月, 2019 1 次提交
  5. 26 7月, 2019 3 次提交
  6. 31 5月, 2019 1 次提交
  7. 08 5月, 2019 2 次提交
  8. 27 3月, 2019 3 次提交
  9. 10 3月, 2019 1 次提交
  10. 13 2月, 2019 1 次提交
  11. 26 1月, 2019 1 次提交
    • R
      Bluetooth: btusb: Add support for Intel bluetooth device 8087:0029 · c5e68453
      Raghuram Hegde 提交于
      [ Upstream commit 2da711bcebe81209a9f2f90e145600eb1bae2b71 ]
      
      Include the new USB product ID for Intel Bluetooth device 22260
      family(CcPeak)
      
      The /sys/kernel/debug/usb/devices portion for this device is:
      
      T:  Bus=01 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#=  2 Spd=12   MxCh= 0
      D:  Ver= 2.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=8087 ProdID=0029 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=  64 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
      I:  If#= 1 Alt= 6 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  63 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  63 Ivl=1ms
      Signed-off-by: NRaghuram Hegde <raghuram.hegde@intel.com>
      Signed-off-by: NChethan T N <chethan.tumkur.narayan@intel.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NSasha Levin <sashal@kernel.org>
      c5e68453
  12. 14 11月, 2018 2 次提交
    • B
      Bluetooth: hci_qca: Remove hdev dereference in qca_close(). · ea3207da
      Balakrishna Godavarthi 提交于
      [ Upstream commit c2d78273 ]
      
      When flag KASAN is set, we are seeing an following crash while removing
      hci_uart module.
      
      [   50.589909] Unable to handle kernel paging request at virtual address 6b6b6b6b6b6b73
      [   50.597902] Mem abort info:
      [   50.600846]   Exception class = DABT (current EL), IL = 32 bits
      [   50.606959]   SET = 0, FnV = 0
      [   50.610142]   EA = 0, S1PTW = 0
      [   50.613396] Data abort info:
      [   50.616401]   ISV = 0, ISS = 0x00000004
      [   50.620373]   CM = 0, WnR = 0
      [   50.623466] [006b6b6b6b6b6b73] address between user and kernel address ranges
      [   50.630818] Internal error: Oops: 96000004 [#1] PREEMPT SMP
      
      [   50.671670] PC is at qca_power_shutdown+0x28/0x100 [hci_uart]
      [   50.677593] LR is at qca_close+0x74/0xb0 [hci_uart]
      [   50.775689] Process rmmod (pid: 2144, stack limit = 0xffffff801ba90000)
      [   50.782493] Call trace:
      
      [   50.872150] [<ffffff8000c3c81c>] qca_power_shutdown+0x28/0x100 [hci_uart]
      [   50.879138] [<ffffff8000c3c968>] qca_close+0x74/0xb0 [hci_uart]
      [   50.885238] [<ffffff8000c3a71c>] hci_uart_unregister_device+0x44/0x50 [hci_uart]
      [   50.892846] [<ffffff8000c3c9f4>] qca_serdev_remove+0x50/0x5c [hci_uart]
      [   50.899654] [<ffffff800844f630>] serdev_drv_remove+0x28/0x38
      [   50.905489] [<ffffff800850fc44>] device_release_driver_internal+0x140/0x1e4
      [   50.912653] [<ffffff800850fd94>] driver_detach+0x78/0x84
      [   50.918121] [<ffffff800850edac>] bus_remove_driver+0x80/0xa8
      [   50.923942] [<ffffff80085107dc>] driver_unregister+0x4c/0x58
      [   50.929768] [<ffffff8000c3ca8c>] qca_deinit+0x24/0x598 [hci_uart]
      [   50.936045] [<ffffff8000c3ca10>] hci_uart_exit+0x10/0x48 [hci_uart]
      [   50.942495] [<ffffff8008136630>] SyS_delete_module+0x17c/0x224
      
      This crash is due to dereference of hdev, after freeing it.
      Signed-off-by: NBalakrishna Godavarthi <bgodavar@codeaurora.org>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NSasha Levin <sashal@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ea3207da
    • C
      Bluetooth: btbcm: Add entry for BCM4335C0 UART bluetooth · 7fb380e2
      Christian Hewitt 提交于
      [ Upstream commit a357ea09 ]
      
      This patch adds the device ID for the AMPAK AP6335 combo module used
      in the 1st generation WeTek Hub Android/LibreELEC HTPC box. The WiFI
      chip identifies itself as BCM4339, while Bluetooth identifies itself
      as BCM4335 (rev C0):
      
      ```
      [    4.864248] Bluetooth: hci0: BCM: chip id 86
      [    4.866388] Bluetooth: hci0: BCM: features 0x2f
      [    4.889317] Bluetooth: hci0: BCM4335C0
      [    4.889332] Bluetooth: hci0: BCM4335C0 (003.001.009) build 0000
      [    9.778383] Bluetooth: hci0: BCM4335C0 (003.001.009) build 0268
      ```
      
      Output from hciconfig:
      
      ```
      hci0:	Type: Primary  Bus: UART
      	BD Address: 43:39:00:00:1F:AC  ACL MTU: 1021:8  SCO MTU: 64:1
      	UP RUNNING
      	RX bytes:7567 acl:234 sco:0 events:386 errors:0
      	TX bytes:53844 acl:77 sco:0 commands:304 errors:0
      	Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
      	Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
      	Link policy: RSWITCH SNIFF
      	Link mode: SLAVE ACCEPT
      	Name: 'HUB'
      	Class: 0x0c0000
      	Service Classes: Rendering, Capturing
      	Device Class: Miscellaneous,
      	HCI Version: 4.0 (0x6)  Revision: 0x10c
      	LMP Version: 4.0 (0x6)  Subversion: 0x6109
      	Manufacturer: Broadcom Corporation (15)
      ```
      Signed-off-by: NChristian Hewitt <christianshewitt@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NSasha Levin <sashal@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      7fb380e2
  13. 06 10月, 2018 1 次提交
    • K
      treewide: Replace more open-coded allocation size multiplications · 329e0989
      Kees Cook 提交于
      As done treewide earlier, this catches several more open-coded
      allocation size calculations that were added to the kernel during the
      merge window. This performs the following mechanical transformations
      using Coccinelle:
      
      	kvmalloc(a * b, ...) -> kvmalloc_array(a, b, ...)
      	kvzalloc(a * b, ...) -> kvcalloc(a, b, ...)
      	devm_kzalloc(..., a * b, ...) -> devm_kcalloc(..., a, b, ...)
      Signed-off-by: NKees Cook <keescook@chromium.org>
      329e0989
  14. 11 9月, 2018 1 次提交
    • H
      Bluetooth: hci_ldisc: Free rw_semaphore on close · e6a57d22
      Hermes Zhang 提交于
      The percpu_rw_semaphore is not currently freed, and this leads to
      a crash when the stale rcu callback is invoked.  DEBUG_OBJECTS
      detects this.
      
       ODEBUG: free active (active state 1) object type: rcu_head hint: (null)
       ------------[ cut here ]------------
       WARNING: CPU: 1 PID: 2024 at debug_print_object+0xac/0xc8
       PC is at debug_print_object+0xac/0xc8
       LR is at debug_print_object+0xac/0xc8
       Call trace:
       [<ffffff80082e2c2c>] debug_print_object+0xac/0xc8
       [<ffffff80082e40b0>] debug_check_no_obj_freed+0x1e8/0x228
       [<ffffff8008191254>] kfree+0x1cc/0x250
       [<ffffff80083cc03c>] hci_uart_tty_close+0x54/0x108
       [<ffffff800832e118>] tty_ldisc_close.isra.1+0x40/0x58
       [<ffffff800832e14c>] tty_ldisc_kill+0x1c/0x40
       [<ffffff800832e3dc>] tty_ldisc_release+0x94/0x170
       [<ffffff8008325554>] tty_release_struct+0x1c/0x58
       [<ffffff8008326400>] tty_release+0x3b0/0x490
       [<ffffff80081a3fe8>] __fput+0x88/0x1d0
       [<ffffff80081a418c>] ____fput+0xc/0x18
       [<ffffff80080c0624>] task_work_run+0x9c/0xc0
       [<ffffff80080a9e24>] do_exit+0x24c/0x8a0
       [<ffffff80080aa4e0>] do_group_exit+0x38/0xa0
       [<ffffff80080aa558>] __wake_up_parent+0x0/0x28
       [<ffffff8008082c00>] el0_svc_naked+0x34/0x38
       ---[ end trace bfe08cbd89098cdf ]---
      Signed-off-by: NHermes Zhang <chenhuiz@axis.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      e6a57d22
  15. 21 8月, 2018 2 次提交
  16. 13 8月, 2018 1 次提交
  17. 10 8月, 2018 1 次提交
  18. 08 8月, 2018 1 次提交
  19. 07 8月, 2018 1 次提交
  20. 05 8月, 2018 1 次提交
  21. 03 8月, 2018 13 次提交