1. 29 Jan, 2021 1 commit
    • Hans de Goede's avatar
      Bluetooth: Add new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk · 219991e6
      Hans de Goede authored
      Some devices, e.g. the RTL8723BS bluetooth part, some USB attached devices,
      completely drop from the bus on a system-suspend. These devices will
      have their driver unbound and rebound on resume (when the dropping of
      the bus gets detected) and will show up as a new HCI after resume.
      
      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 this may also actually cause problems, if the
      code doing the driver unbinding runs after the pm-notifier then the
      hci_suspend_notifier code will try to talk to a device which is now in
      an uninitialized state.
      
      This commit adds a new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk which allows
      drivers to opt-out of the hci_suspend_notifier when they know beforehand
      that their device will be fully re-initialized / reprobed on resume.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Reviewed-by: default avatarAbhishek Pandit-Subedi <abhishekpandit@chromium.org>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      219991e6
  2. 25 Jan, 2021 14 commits
    • Bastien Nocera's avatar
      Bluetooth: L2CAP: Try harder to accept device not knowing options · 98d2c3e1
      Bastien Nocera authored
      The current implementation of L2CAP options negotiation will continue
      the negotiation when a device responds with L2CAP_CONF_UNACCEPT ("unaccepted
      options"), but not when the device replies with L2CAP_CONF_UNKNOWN ("unknown
      options").
      
      Trying to continue the negotiation without ERTM support will allow
      Bluetooth-capable XBox One controllers (notably models 1708 and 1797)
      to connect.
      
      btmon before patch:
      > ACL Data RX: Handle 256 flags 0x02 dlen 16                            #64 [hci0] 59.182702
            L2CAP: Connection Response (0x03) ident 2 len 8
              Destination CID: 64
              Source CID: 64
              Result: Connection successful (0x0000)
              Status: No further information available (0x0000)
      < ACL Data TX: Handle 256 flags 0x00 dlen 23                            #65 [hci0] 59.182744
            L2CAP: Configure Request (0x04) ident 3 len 15
              Destination CID: 64
              Flags: 0x0000
              Option: Retransmission and Flow Control (0x04) [mandatory]
                Mode: Basic (0x00)
                TX window size: 0
                Max transmit: 0
                Retransmission timeout: 0
                Monitor timeout: 0
                Maximum PDU size: 0
      > ACL Data RX: Handle 256 flags 0x02 dlen 16                            #66 [hci0] 59.183948
            L2CAP: Configure Request (0x04) ident 1 len 8
              Destination CID: 64
              Flags: 0x0000
              Option: Maximum Transmission Unit (0x01) [mandatory]
                MTU: 1480
      < ACL Data TX: Handle 256 flags 0x00 dlen 18                            #67 [hci0] 59.183994
            L2CAP: Configure Response (0x05) ident 1 len 10
              Source CID: 64
              Flags: 0x0000
              Result: Success (0x0000)
              Option: Maximum Transmission Unit (0x01) [mandatory]
                MTU: 1480
      > ACL Data RX: Handle 256 flags 0x02 dlen 15                            #69 [hci0] 59.187676
            L2CAP: Configure Response (0x05) ident 3 len 7
              Source CID: 64
              Flags: 0x0000
              Result: Failure - unknown options (0x0003)
              04                                               .
      < ACL Data TX: Handle 256 flags 0x00 dlen 12                            #70 [hci0] 59.187722
            L2CAP: Disconnection Request (0x06) ident 4 len 4
              Destination CID: 64
              Source CID: 64
      > ACL Data RX: Handle 256 flags 0x02 dlen 12                            #73 [hci0] 59.192714
            L2CAP: Disconnection Response (0x07) ident 4 len 4
              Destination CID: 64
              Source CID: 64
      
      btmon after patch:
      > ACL Data RX: Handle 256 flags 0x02 dlen 16                          #248 [hci0] 103.502970
            L2CAP: Connection Response (0x03) ident 5 len 8
              Destination CID: 65
              Source CID: 65
              Result: Connection pending (0x0001)
              Status: No further information available (0x0000)
      > ACL Data RX: Handle 256 flags 0x02 dlen 16                          #249 [hci0] 103.504184
            L2CAP: Connection Response (0x03) ident 5 len 8
              Destination CID: 65
              Source CID: 65
              Result: Connection successful (0x0000)
              Status: No further information available (0x0000)
      < ACL Data TX: Handle 256 flags 0x00 dlen 23                          #250 [hci0] 103.504398
            L2CAP: Configure Request (0x04) ident 6 len 15
              Destination CID: 65
              Flags: 0x0000
              Option: Retransmission and Flow Control (0x04) [mandatory]
                Mode: Basic (0x00)
                TX window size: 0
                Max transmit: 0
                Retransmission timeout: 0
                Monitor timeout: 0
                Maximum PDU size: 0
      > ACL Data RX: Handle 256 flags 0x02 dlen 16                          #251 [hci0] 103.505472
            L2CAP: Configure Request (0x04) ident 3 len 8
              Destination CID: 65
              Flags: 0x0000
              Option: Maximum Transmission Unit (0x01) [mandatory]
                MTU: 1480
      < ACL Data TX: Handle 256 flags 0x00 dlen 18                          #252 [hci0] 103.505689
            L2CAP: Configure Response (0x05) ident 3 len 10
              Source CID: 65
              Flags: 0x0000
              Result: Success (0x0000)
              Option: Maximum Transmission Unit (0x01) [mandatory]
                MTU: 1480
      > ACL Data RX: Handle 256 flags 0x02 dlen 15                          #254 [hci0] 103.509165
            L2CAP: Configure Response (0x05) ident 6 len 7
              Source CID: 65
              Flags: 0x0000
              Result: Failure - unknown options (0x0003)
              04                                               .
      < ACL Data TX: Handle 256 flags 0x00 dlen 12                          #255 [hci0] 103.509426
            L2CAP: Configure Request (0x04) ident 7 len 4
              Destination CID: 65
              Flags: 0x0000
      < ACL Data TX: Handle 256 flags 0x00 dlen 12                          #257 [hci0] 103.511870
            L2CAP: Connection Request (0x02) ident 8 len 4
              PSM: 1 (0x0001)
              Source CID: 66
      > ACL Data RX: Handle 256 flags 0x02 dlen 14                          #259 [hci0] 103.514121
            L2CAP: Configure Response (0x05) ident 7 len 6
              Source CID: 65
              Flags: 0x0000
              Result: Success (0x0000)
      Signed-off-by: default avatarFlorian Dollinger <dollinger.florian@gmx.de>
      Co-developed-by: default avatarFlorian Dollinger <dollinger.florian@gmx.de>
      Reviewed-by: default avatarLuiz Augusto Von Dentz <luiz.von.dentz@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      98d2c3e1
    • Luiz Augusto von Dentz's avatar
      Bluetooth: L2CAP: Fix handling fragmented length · 4d7ea8ee
      Luiz Augusto von Dentz authored
      Bluetooth Core Specification v5.2, Vol. 3, Part A, section 1.4, table
      1.1:
      
       'Start Fragments always either begin with the first octet of the Basic
        L2CAP header of a PDU or they have a length of zero (see [Vol 2] Part
        B, Section 6.6.2).'
      
      Apparently this was changed by the following errata:
      
      https://www.bluetooth.org/tse/errata_view.cfm?errata_id=10216Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      4d7ea8ee
    • Vamshi K Sthambamkadi's avatar
      Bluetooth: btusb: fix memory leak on suspend and resume · 5ff20cbe
      Vamshi K Sthambamkadi authored
      kmemleak report:
      unreferenced object 0xffff9b1127f00500 (size 208):
        comm "kworker/u17:2", pid 500, jiffies 4294937470 (age 580.136s)
        hex dump (first 32 bytes):
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
          00 60 ed 05 11 9b ff ff 00 00 00 00 00 00 00 00  .`..............
        backtrace:
          [<000000006ab3fd59>] kmem_cache_alloc_node+0x17a/0x480
          [<0000000051a5f6f9>] __alloc_skb+0x5b/0x1d0
          [<0000000037e2d252>] hci_prepare_cmd+0x32/0xc0 [bluetooth]
          [<0000000010b586d5>] hci_req_add_ev+0x84/0xe0 [bluetooth]
          [<00000000d2deb520>] hci_req_clear_event_filter+0x42/0x70 [bluetooth]
          [<00000000f864bd8c>] hci_req_prepare_suspend+0x84/0x470 [bluetooth]
          [<000000001deb2cc4>] hci_prepare_suspend+0x31/0x40 [bluetooth]
          [<000000002677dd79>] process_one_work+0x209/0x3b0
          [<00000000aaa62b07>] worker_thread+0x34/0x400
          [<00000000826d176c>] kthread+0x126/0x140
          [<000000002305e558>] ret_from_fork+0x22/0x30
      unreferenced object 0xffff9b1125c6ee00 (size 512):
        comm "kworker/u17:2", pid 500, jiffies 4294937470 (age 580.136s)
        hex dump (first 32 bytes):
          04 00 00 00 0d 00 00 00 05 0c 01 00 11 9b ff ff  ................
          00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00  ................
        backtrace:
          [<000000009f07c0cc>] slab_post_alloc_hook+0x59/0x270
          [<0000000049431dc2>] __kmalloc_node_track_caller+0x15f/0x330
          [<00000000027a42f6>] __kmalloc_reserve.isra.70+0x31/0x90
          [<00000000e8e3e76a>] __alloc_skb+0x87/0x1d0
          [<0000000037e2d252>] hci_prepare_cmd+0x32/0xc0 [bluetooth]
          [<0000000010b586d5>] hci_req_add_ev+0x84/0xe0 [bluetooth]
          [<00000000d2deb520>] hci_req_clear_event_filter+0x42/0x70 [bluetooth]
          [<00000000f864bd8c>] hci_req_prepare_suspend+0x84/0x470 [bluetooth]
          [<000000001deb2cc4>] hci_prepare_suspend+0x31/0x40 [bluetooth]
          [<000000002677dd79>] process_one_work+0x209/0x3b0
          [<00000000aaa62b07>] worker_thread+0x34/0x400
          [<00000000826d176c>] kthread+0x126/0x140
          [<000000002305e558>] ret_from_fork+0x22/0x30
      unreferenced object 0xffff9b112b395788 (size 8):
        comm "kworker/u17:2", pid 500, jiffies 4294937470 (age 580.136s)
        hex dump (first 8 bytes):
          20 00 00 00 00 00 04 00                           .......
        backtrace:
          [<0000000052dc28d2>] kmem_cache_alloc_trace+0x15e/0x460
          [<0000000046147591>] alloc_ctrl_urb+0x52/0xe0 [btusb]
          [<00000000a2ed3e9e>] btusb_send_frame+0x91/0x100 [btusb]
          [<000000001e66030e>] hci_send_frame+0x7e/0xf0 [bluetooth]
          [<00000000bf6b7269>] hci_cmd_work+0xc5/0x130 [bluetooth]
          [<000000002677dd79>] process_one_work+0x209/0x3b0
          [<00000000aaa62b07>] worker_thread+0x34/0x400
          [<00000000826d176c>] kthread+0x126/0x140
          [<000000002305e558>] ret_from_fork+0x22/0x30
      
      In pm sleep-resume context, while the btusb device rebinds, it enters
      hci_unregister_dev(), whilst there is a possibility of hdev receiving
      PM_POST_SUSPEND suspend_notifier event, leading to generation of msg
      frames. When hci_unregister_dev() completes, i.e. hdev context is
      destroyed/freed, those intermittently sent msg frames cause memory
      leak.
      
      BUG details:
      Below is stack trace of thread that enters hci_unregister_dev(), marks
      the hdev flag HCI_UNREGISTER to 1, and then goes onto to wait on notifier
      lock - refer unregister_pm_notifier().
      
        hci_unregister_dev+0xa5/0x320 [bluetoot]
        btusb_disconnect+0x68/0x150 [btusb]
        usb_unbind_interface+0x77/0x250
        ? kernfs_remove_by_name_ns+0x75/0xa0
        device_release_driver_internal+0xfe/0x1
        device_release_driver+0x12/0x20
        bus_remove_device+0xe1/0x150
        device_del+0x192/0x3e0
        ? usb_remove_ep_devs+0x1f/0x30
        usb_disable_device+0x92/0x1b0
        usb_disconnect+0xc2/0x270
        hub_event+0x9f6/0x15d0
        ? rpm_idle+0x23/0x360
        ? rpm_idle+0x26b/0x360
        process_one_work+0x209/0x3b0
        worker_thread+0x34/0x400
        ? process_one_work+0x3b0/0x3b0
        kthread+0x126/0x140
        ? kthread_park+0x90/0x90
        ret_from_fork+0x22/0x30
      
      Below is stack trace of thread executing hci_suspend_notifier() which
      processes the PM_POST_SUSPEND event, while the unbinding thread is
      waiting on lock.
      
        hci_suspend_notifier.cold.39+0x5/0x2b [bluetooth]
        blocking_notifier_call_chain+0x69/0x90
        pm_notifier_call_chain+0x1a/0x20
        pm_suspend.cold.9+0x334/0x352
        state_store+0x84/0xf0
        kobj_attr_store+0x12/0x20
        sysfs_kf_write+0x3b/0x40
        kernfs_fop_write+0xda/0x1c0
        vfs_write+0xbb/0x250
        ksys_write+0x61/0xe0
        __x64_sys_write+0x1a/0x20
        do_syscall_64+0x37/0x80
        entry_SYSCALL_64_after_hwframe+0x44/0xa9
      
      Fix hci_suspend_notifer(), not to act on events when flag HCI_UNREGISTER
      is set.
      Signed-off-by: default avatarVamshi K Sthambamkadi <vamshi.k.sthambamkadi@gmail.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      5ff20cbe
    • Geert Uytterhoeven's avatar
      dt-bindings: net: btusb: DT fix s/interrupt-name/interrupt-names/ · f2889889
      Geert Uytterhoeven authored
      The standard DT property name is "interrupt-names".
      
      Fixes: fd913ef7 ("Bluetooth: btusb: Add out-of-band wakeup support")
      Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Reviewed-by: default avatarBrian Norris <briannorris@chromium.org>
      Acked-by: default avatarRajat Jain <rajatja@google.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      f2889889
    • Pan Bian's avatar
      Bluetooth: Put HCI device if inquiry procedure interrupts · 28a758c8
      Pan Bian authored
      Jump to the label done to decrement the reference count of HCI device
      hdev on path that the Inquiry procedure is interrupted.
      
      Fixes: 3e13fa1e ("Bluetooth: Fix hci_inquiry ioctl usage")
      Signed-off-by: default avatarPan Bian <bianpan2016@163.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      28a758c8
    • Pan Bian's avatar
      Bluetooth: drop HCI device reference before return · 5a3ef03a
      Pan Bian authored
      Call hci_dev_put() to decrement reference count of HCI device hdev if
      fails to duplicate memory.
      
      Fixes: 0b26ab9d ("Bluetooth: AMP: Handle Accept phylink command status evt")
      Signed-off-by: default avatarPan Bian <bianpan2016@163.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      5a3ef03a
    • Howard Chung's avatar
      Bluetooth: disable advertisement filters during suspend · bf6a4e30
      Howard Chung authored
      This adds logic to disable and reenable advertisement filters during
      suspend and resume. After this patch, we would only receive packets from
      devices in allow list during suspend.
      Signed-off-by: default avatarHoward Chung <howardchung@google.com>
      Reviewed-by: default avatarAbhishek Pandit-Subedi <abhishekpandit@chromium.org>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      bf6a4e30
    • Archie Pusaka's avatar
      Bluetooth: advmon offload MSFT interleave scanning integration · 58ceb1e6
      Archie Pusaka authored
      When MSFT extension is supported, we don't have to interleave the scan
      as we could just do allowlist scan.
      Signed-off-by: default avatarArchie Pusaka <apusaka@chromium.org>
      Reviewed-by: default avatarMiao-chen Chou <mcchou@chromium.org>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      58ceb1e6
    • Archie Pusaka's avatar
      Bluetooth: advmon offload MSFT handle filter enablement · 394566bf
      Archie Pusaka authored
      Implements the feature to disable/enable the filter used for
      advertising monitor on MSFT controller, effectively have the same
      effect as "remove all monitors" and "add all previously removed
      monitors".
      
      This feature would be needed when suspending, where we would not want
      to get packets from anything outside the allowlist. Note that the
      integration with the suspending part is not included in this patch.
      Signed-off-by: default avatarArchie Pusaka <apusaka@chromium.org>
      Reviewed-by: default avatarMiao-chen Chou <mcchou@chromium.org>
      Reviewed-by: default avatarYun-Hao Chung <howardchung@google.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      394566bf
    • Archie Pusaka's avatar
      Bluetooth: advmon offload MSFT handle controller reset · 4a37682c
      Archie Pusaka authored
      When the controller is powered off, the registered advertising monitor
      is removed from the controller. This patch handles the re-registration
      of those monitors when the power is on.
      Signed-off-by: default avatarArchie Pusaka <apusaka@chromium.org>
      Reviewed-by: default avatarMiao-chen Chou <mcchou@chromium.org>
      Reviewed-by: default avatarYun-Hao Chung <howardchung@google.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      4a37682c
    • Archie Pusaka's avatar
      Bluetooth: advmon offload MSFT remove monitor · 66bd095a
      Archie Pusaka authored
      Implements the monitor removal functionality for advertising monitor
      offloading to MSFT controllers. Supply handle = 0 to remove all
      monitors.
      Signed-off-by: default avatarArchie Pusaka <apusaka@chromium.org>
      Reviewed-by: default avatarMiao-chen Chou <mcchou@chromium.org>
      Reviewed-by: default avatarYun-Hao Chung <howardchung@google.com>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      66bd095a
    • Archie Pusaka's avatar
      Bluetooth: advmon offload MSFT add monitor · a2a4dedf
      Archie Pusaka authored
      Enables advertising monitor offloading to the controller, if MSFT
      extension is supported. The kernel won't adjust the monitor parameters
      to match what the controller supports - that is the user space's
      responsibility.
      
      This patch only manages the addition of monitors. Monitor removal is
      going to be handled by another patch.
      Signed-off-by: default avatarArchie Pusaka <apusaka@chromium.org>
      Reviewed-by: default avatarManish Mandlik <mmandlik@chromium.org>
      Reviewed-by: default avatarMiao-chen Chou <mcchou@chromium.org>
      Reviewed-by: default avatarYun-Hao Chung <howardchung@google.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      a2a4dedf
    • Archie Pusaka's avatar
      Bluetooth: advmon offload MSFT add rssi support · b4a221ea
      Archie Pusaka authored
      MSFT needs rssi parameter for monitoring advertisement packet,
      therefore we should supply them from mgmt. This adds a new opcode
      to add advertisement monitor with rssi parameters.
      Signed-off-by: default avatarArchie Pusaka <apusaka@chromium.org>
      Reviewed-by: default avatarManish Mandlik <mmandlik@chromium.org>
      Reviewed-by: default avatarMiao-chen Chou <mcchou@chromium.org>
      Reviewed-by: default avatarYun-Hao Chung <howardchung@google.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      b4a221ea
    • Claire Chang's avatar
      Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl · 7f9f2c3f
      Claire Chang authored
      Realtek Bluetooth controllers can do both LE scan and BR/EDR inquiry
      at once, need to set HCI_QUIRK_SIMULTANEOUS_DISCOVERY quirk.
      Signed-off-by: default avatarClaire Chang <tientzu@chromium.org>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      7f9f2c3f
  3. 06 Jan, 2021 6 commits
  4. 27 Dec, 2020 1 commit
  5. 22 Dec, 2020 1 commit
  6. 21 Dec, 2020 1 commit
  7. 18 Dec, 2020 14 commits
  8. 15 Dec, 2020 2 commits
    • Linus Torvalds's avatar
      Merge tag 'staging-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 3db1a3fa
      Linus Torvalds authored
      Pull staging / IIO driver updates from Greg KH:
       "Here is the big staging and IIO driver pull request for 5.11-rc1
      
        Lots of different things in here:
      
         - loads of driver updates
      
         - so many coding style cleanups
      
         - new IIO drivers
      
         - Android ION code is finally removed from the tree
      
         - wimax drivers are moved to staging on their way out of the kernel
      
        Nothing really exciting, just the constant grind of kernel development :)
      
        All have been in linux-next for a while with no reported issues"
      
      * tag 'staging-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (341 commits)
        staging: olpc_dcon: Do not call platform_device_unregister() in dcon_probe()
        staging: most: Fix spelling mistake "tranceiver" -> "transceiver"
        staging: qlge: remove duplicate word in comment
        staging: comedi: mf6x4: Fix AI end-of-conversion detection
        staging: greybus: Add TODO item about modernizing the pwm code
        pinctrl: ralink: add a pinctrl driver for the rt2880 family
        dt-bindings: pinctrl: rt2880: add binding document
        staging: rtl8723bs: remove ELEMENT_ID enum
        staging: rtl8723bs: remove unused macros
        staging: rtl8723bs: replace EID_EXTCapability
        staging: rtl8723bs: replace EID_BSSIntolerantChlReport
        staging: rtl8723bs: replace EID_BSSCoexistence
        staging: rtl8723bs: replace _MME_IE_
        staging: rtl8723bs: replace _WAPI_IE_
        staging: rtl8723bs: replace _EXT_SUPPORTEDRATES_IE_
        staging: rtl8723bs: replace _ERPINFO_IE_
        staging: rtl8723bs: replace _CHLGETXT_IE_
        staging: rtl8723bs: replace _COUNTRY_IE_
        staging: rtl8723bs: replace _IBSS_PARA_IE_
        staging: rtl8723bs: replace _TIM_IE_
        ...
      3db1a3fa
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 2911ed9f
      Linus Torvalds authored
      Pull char / misc driver updates from Greg KH:
       "Here is the big char/misc driver update for 5.11-rc1.
      
        Continuing the tradition of previous -rc1 pulls, there seems to be
        more and more tiny driver subsystems flowing through this tree.
      
        Lots of different things, all of which have been in linux-next for a
        while with no reported issues:
      
         - extcon driver updates
      
         - habannalab driver updates
      
         - mei driver updates
      
         - uio driver updates
      
         - binder fixes and features added
      
         - soundwire driver updates
      
         - mhi bus driver updates
      
         - phy driver updates
      
         - coresight driver updates
      
         - fpga driver updates
      
         - speakup driver updates
      
         - slimbus driver updates
      
         - various small char and misc driver updates"
      
      * tag 'char-misc-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (305 commits)
        extcon: max77693: Fix modalias string
        extcon: fsa9480: Support TI TSU6111 variant
        extcon: fsa9480: Rewrite bindings in YAML and extend
        dt-bindings: extcon: add binding for TUSB320
        extcon: Add driver for TI TUSB320
        slimbus: qcom: fix potential NULL dereference in qcom_slim_prg_slew()
        siox: Make remove callback return void
        siox: Use bus_type functions for probe, remove and shutdown
        spmi: Add driver shutdown support
        spmi: fix some coding style issues at the spmi core
        spmi: get rid of a warning when built with W=1
        uio: uio_hv_generic: use devm_kzalloc() for private data alloc
        uio: uio_fsl_elbc_gpcm: use device-managed allocators
        uio: uio_aec: use devm_kzalloc() for uio_info object
        uio: uio_cif: use devm_kzalloc() for uio_info object
        uio: uio_netx: use devm_kzalloc() for or uio_info object
        uio: uio_mf624: use devm_kzalloc() for uio_info object
        uio: uio_sercos3: use device-managed functions for simple allocs
        uio: uio_dmem_genirq: finalize conversion of probe to devm_ handlers
        uio: uio_dmem_genirq: convert simple allocations to device-managed
        ...
      2911ed9f