Skip to content
  1. Oct 24, 2023
    • Masum Reza's avatar
      Bluetooth: btusb: Add RTW8852BE device 13d3:3570 to device tables · 02be109d
      Masum Reza authored
      
      
      This device is used in TP-Link TX20E WiFi+Bluetooth adapter.
      
      Relevant information in /sys/kernel/debug/usb/devices
      about the Bluetooth device is listed as the below.
      
      T:  Bus=01 Lev=01 Prnt=01 Port=08 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
      D:  Ver= 1.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=13d3 ProdID=3570 Rev= 0.00
      S:  Manufacturer=Realtek
      S:  Product=Bluetooth Radio
      S:  SerialNumber=00e04c000001
      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 avatarMasum Reza <masumrezarock100@gmail.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      02be109d
    • Tim Jiang's avatar
      Bluetooth: qca: add support for QCA2066 · a7f8dedb
      Tim Jiang authored
      
      
      This patch adds support for QCA2066 firmware patch and NVM downloading.
      as the RF performance of QCA2066 SOC chip from different foundries may
      vary. Therefore we use different NVM to configure them based on board ID.
      
      Changes in v2
       - optimize the function qca_generate_hsp_nvm_name
       - remove redundant debug code for function qca_read_fw_board_id
      
      Signed-off-by: default avatarTim Jiang <quic_tjiang@quicinc.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      a7f8dedb
    • Vlad Pruteanu's avatar
      Bluetooth: ISO: Set CIS bit only for devices with CIS support · 5af69ab9
      Vlad Pruteanu authored
      
      
      Currently the CIS bit that can be set by the host is set for any device
      that has CIS or BIS support. In reality, devices that support BIS may not
      allow that bit to be set and so, the HCI bring up fails for them.
      
      This commit fixes this by only setting the bit for CIS capable devices.
      
      Signed-off-by: default avatarVlad Pruteanu <vlad.pruteanu@nxp.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      5af69ab9
    • Vijay Satija's avatar
      Bluetooth: Add support for Intel Misty Peak - 8087:0038 · a97258db
      Vijay Satija authored
      
      
      Devices from /sys/kernel/debug/usb/devices:
      
      T:  Bus=01 Lev=01 Prnt=01 Port=13 Cnt=02 Dev#=  3 Spd=12   MxCh= 0
      D:  Ver= 2.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=8087 ProdID=0038 Rev= 0.00
      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: default avatarVijay Satija <vijay.satija@intel.com>
      Signed-off-by: default avatarKiran K <kiran.k@intel.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      a97258db
    • Jingyang Wang's avatar
      Bluetooth: Add support ITTIM PE50-M75C · 00b1c3c4
      Jingyang Wang authored
      
      
      -Device(35f5:7922) from /sys/kernel/debug/usb/devices
      P:  Vendor=35f5 ProdID=7922 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 avatarJingyang Wang <wjy7717@126.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      00b1c3c4
    • Iulia Tanasescu's avatar
      Bluetooth: ISO: Pass BIG encryption info through QoS · 1d11d70d
      Iulia Tanasescu authored
      
      
      This enables a broadcast sink to be informed if the PA
      it has synced with is associated with an encrypted BIG,
      by retrieving the socket QoS and checking the encryption
      field.
      
      After PA sync has been successfully established and the
      first BIGInfo advertising report is received, a new hcon
      is added and notified to the ISO layer. The ISO layer
      sets the encryption field of the socket and hcon QoS
      according to the encryption parameter of the BIGInfo
      advertising report event.
      
      After that, the userspace is woken up, and the QoS of the
      new PA sync socket can be read, to inspect the encryption
      field and follow up accordingly.
      
      Signed-off-by: default avatarIulia Tanasescu <iulia.tanasescu@nxp.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      1d11d70d
    • Iulia Tanasescu's avatar
      Bluetooth: ISO: Fix BIS cleanup · a254b90c
      Iulia Tanasescu authored
      
      
      This fixes the master BIS cleanup procedure - as opposed to CIS cleanup,
      no HCI disconnect command should be issued. A master BIS should only be
      terminated by disabling periodic and extended advertising, and terminating
      the BIG.
      
      In case of a Broadcast Receiver, all BIS and PA connections can be
      cleaned up by calling hci_conn_failed, since it contains all function
      calls that are necessary for successful cleanup.
      
      Signed-off-by: default avatarIulia Tanasescu <iulia.tanasescu@nxp.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      a254b90c
    • Rob Herring's avatar
      net: mdio: xgene: Fix unused xgene_mdio_of_match warning for !CONFIG_OF · d6e48462
      Rob Herring authored
      
      
      Commit a243ecc3 ("net: mdio: xgene: Use device_get_match_data()")
      dropped the unconditional use of xgene_mdio_of_match resulting in this
      warning:
      
      drivers/net/mdio/mdio-xgene.c:303:34: warning: unused variable 'xgene_mdio_of_match' [-Wunused-const-variable]
      
      The fix is to drop of_match_ptr() which is not necessary because DT is
      always used for this driver (well, it could in theory support ACPI only,
      but CONFIG_OF is always enabled for arm64).
      
      Fixes: a243ecc3 ("net: mdio: xgene: Use device_get_match_data()")
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Closes: https://lore.kernel.org/oe-kbuild-all/202310170832.xnVXw1bb-lkp@intel.com/
      
      
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Link: https://lore.kernel.org/r/20231019182345.833136-1-robh@kernel.org
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d6e48462
    • Jakub Kicinski's avatar
      tools: ynl-gen: change spacing around __attribute__ · c0119e62
      Jakub Kicinski authored
      checkpatch gets confused and treats __attribute__ as a function call.
      It complains about white space before "(":
      
      WARNING:SPACING: space prohibited between function name and open parenthesis '('
      +	struct netdev_queue_get_rsp obj __attribute__ ((aligned (8)));
      
      No spaces wins in the kernel:
      
        $ git grep 'attribute__((.*aligned(' | wc -l
        480
        $ git grep 'attribute__ ((.*aligned (' | wc -l
        110
        $ git grep 'attribute__ ((.*aligned(' | wc -l
        94
        $ git grep 'attribute__((.*aligned (' | wc -l
        63
      
      So, whatever, change the codegen.
      
      Note that checkpatch also thinks we should use __aligned(),
      but this is user space code.
      
      Link: https://lore.kernel.org/all/202310190900.9Dzgkbev-lkp@intel.com/
      
      
      Acked-by: default avatarStanislav Fomichev <sdf@google.com>
      Reviewed-by: default avatarAmritha Nambiar <amritha.nambiar@intel.com>
      Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
      Link: https://lore.kernel.org/r/20231020221827.3436697-1-kuba@kernel.org
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      c0119e62
    • Sabrina Dubroca's avatar
      tls: don't reset prot->aad_size and prot->tail_size for TLS_HW · b7c4f573
      Sabrina Dubroca authored
      
      
      Prior to commit 1a074f76 ("tls: also use init_prot_info in
      tls_set_device_offload"), setting TLS_HW on TX didn't touch
      prot->aad_size and prot->tail_size. They are set to 0 during context
      allocation (tls_prot_info is embedded in tls_context, kzalloc'd by
      tls_ctx_create).
      
      When the RX key is configured, tls_set_sw_offload is called (for both
      TLS_SW and TLS_HW). If the TX key is configured in TLS_HW mode after
      the RX key has been installed, init_prot_info will now overwrite the
      correct values of aad_size and tail_size, breaking SW decryption and
      causing -EBADMSG errors to be returned to userspace.
      
      Since TLS_HW doesn't use aad_size and tail_size at all (for TLS1.2,
      tail_size is always 0, and aad_size is equal to TLS_HEADER_SIZE +
      rec_seq_size), we can simply drop this hunk.
      
      Fixes: 1a074f76 ("tls: also use init_prot_info in tls_set_device_offload")
      Signed-off-by: default avatarSabrina Dubroca <sd@queasysnail.net>
      Acked-by: default avatarJakub Kicinski <kuba@kernel.org>
      Tested-by: default avatarRan Rozenstein <ranro@nvidia.com>
      Link: https://lore.kernel.org/r/979d2f89a6a994d5bb49cae49a80be54150d094d.1697653889.git.sd@queasysnail.net
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b7c4f573
  2. Oct 23, 2023
  3. Oct 22, 2023