Skip to content
  1. Apr 23, 2021
    • Lin Ma's avatar
      bluetooth: eliminate the potential race condition when removing the HCI controller · e2cb6b89
      Lin Ma authored
      
      
      There is a possible race condition vulnerability between issuing a HCI
      command and removing the cont.  Specifically, functions hci_req_sync()
      and hci_dev_do_close() can race each other like below:
      
      thread-A in hci_req_sync()      |   thread-B in hci_dev_do_close()
                                      |   hci_req_sync_lock(hdev);
      test_bit(HCI_UP, &hdev->flags); |
      ...                             |   test_and_clear_bit(HCI_UP, &hdev->flags)
      hci_req_sync_lock(hdev);        |
                                      |
      In this commit we alter the sequence in function hci_req_sync(). Hence,
      the thread-A cannot issue th.
      
      Signed-off-by: default avatarLin Ma <linma@zju.edu.cn>
      Cc: Marcel Holtmann <marcel@holtmann.org>
      Fixes: 7c6a329e
      
       ("[Bluetooth] Fix regression from using default link policy")
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e2cb6b89
  2. Apr 16, 2021
  3. Apr 15, 2021
  4. Apr 11, 2021
    • Greg Kroah-Hartman's avatar
      Merge tag 'mhi-for-v5.13' of... · 31d8df9f
      Greg Kroah-Hartman authored
      Merge tag 'mhi-for-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi into char-misc-next
      
      Manivannan writes:
      
      MHI changes for v5.13
      
      core:
      
      - Added support for Flash Programmer execution environment which allows the
        host machine (like x86) to flash the modem firmware to NAND or eMMC in the
        modem. The MHI bus will expose EDL channels (34, 35) and then the opensource
        QDL tool [1] can be used to flash the firmware from the host.
      - Added an internal helper for polling the MHI registers with a retry interval.
        This helper is used now to poll for the MHI ready state in MHI STATUS
        register.
      - Various fixes for issues found during the bringup of SDX24/SDX55 based Quectel
        and Telit modems.
      - Updates to the Execution environment handling for proper downloading of the
        AMSS image from SBL (Secondary Bootloader) mode.
      - Added support for sending STOP channel command to the MHI device and also made
        changes to the MHI core for proper handling of stop and restart.
      - Fixed the runtime_pm handling in the core by forcing the device to be in wake
        mode until TX completion and allowing it to suspend for RX.
      - Added sanity checks for values read from the device to avoid crash if those
        are corrupted somehow.
      - Fixed warnings generated by sparse (W=2)
      - Couple of kernel doc cleanups in mhi.h
      
      pci_generic:
      
      - Added support for runtime PM and generic PM
      - Added Firehose channels for flashing the firmware
      - Added support for modems such as Quectel EM1XXGR-L, SDX24, SDX65, Foxconn
        T99W175 exposing relevant channels.
      
      [1] https://git.linaro.org/landing-teams/working/qualcomm/qdl.git
      
      * tag 'mhi-for-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/mhi: (49 commits)
        bus: mhi: fix typo in comments for struct mhi_channel_config
        bus: mhi: core: Fix shadow declarations
        bus: mhi: pci_generic: Constify mhi_controller_config struct definitions
        bus: mhi: pci_generic: Introduce Foxconn T99W175 support
        bus: mhi: core: Sanity check values from remote device before use
        bus: mhi: pci_generic: Add FIREHOSE channels
        bus: mhi: pci_generic: Implement PCI shutdown callback
        bus: mhi: Improve documentation on channel transfer setup APIs
        bus: mhi: core: Remove __ prefix for MHI channel unprepare function
        bus: mhi: core: Check channel execution environment before issuing reset
        bus: mhi: core: Clear configuration from channel context during reset
        bus: mhi: core: Hold device wake for channel update commands
        bus: mhi: core: Update debug messages to use client device
        bus: mhi: core: Improvements to the channel handling state machine
        bus: mhi: core: Clear context for stopped channels from remove()
        bus: mhi: core: Allow sending the STOP channel command
        bus: mhi: pci_generic: Add SDX65 based modem support
        bus: mhi: core: Remove pre_init flag used for power purposes
        bus: mhi: pm: reduce PM state change verbosity
        bus: mhi: core: Fix MHI runtime_pm behavior
        ...
      31d8df9f
    • Greg Kroah-Hartman's avatar
      Merge tag 'misc-habanalabs-next-2021-04-10' of... · aa87e317
      Greg Kroah-Hartman authored
      Merge tag 'misc-habanalabs-next-2021-04-10' of https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux into char-misc-next
      
      Oded writes:
      
      This tag contains habanalabs driver changes for v5.13:
      
      - Add support to reset device after the user closes the file descriptor.
        Because we support a single user, we can reset the device (if needs to)
        after a user closes its file descriptor to make sure the device is in
        idle and clean state for the next user.
      
      - Add a new feature to allow the user to wait on interrupt. This is needed
        for future ASICs
      
      - Replace GFP_ATOMIC with GFP_KERNEL wherever possible and add code to
        support failure of allocating with GFP_ATOMIC.
      
      - Update code to support the latest firmware image:
        - More security features are done in the firmware
        - Remove hard-coded assumptions and replace them with values that are
          sent to the firmware on loading.
        - Print device unusable error
        - Reset device in case the communication between driver and firmware
          gets out of sync.
        - Support new PCI device ids for secured GAUDI.
      
      - Expose current power draw through the INFO IOCTL.
      
      - Support resetting the device upon a request from the BMC (through F/W).
      
      - Always use only a single MSI in GAUDI, due to H/W limitation.
      
      - Improve data-path code by taking out code from spinlock protection.
      
      - Allow user to specify custom timeout per Command Submission.
      
      - Some enhancements to debugfs.
      
      - Various minor changes and improvements.
      
      * tag 'misc-habanalabs-next-2021-04-10' of https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux: (41 commits)
        habanalabs: print f/w boot unknown error
        habanalabs: update to latest F/W communication header
        habanalabs/gaudi: skip iATU if F/W security is enabled
        habanalabs/gaudi: derive security status from pci id
        habanalabs: move dram scrub to free sequence
        habanalabs: send dynamic msi-x indexes to f/w
        habanalabs/gaudi: clear QM errors only if not in stop_on_err mode
        habanalabs: support DEVICE_UNUSABLE error indication from FW
        habanalabs: use strscpy instead of sprintf and strlcpy
        habanalabs: remove the store jobs array from CS IOCTL
        habanalabs/gaudi: add debugfs to DMA from the device
        habanalabs/gaudi: sync stream add protection to SOB reset flow
        habanalabs: add custom timeout flag per cs
        habanalabs: improve utilization calculation
        habanalabs: support legacy and new pll indexes
        habanalabs: move relevant datapath work outside cs lock
        habanalabs: avoid soft lockup bug upon mapping error
        habanalabs/gaudi: Update async events header
        habanalabs/gaudi: unsecure TPC cfg status registers
        habanalabs/gaudi: always use single-msi mode
        ...
      aa87e317
  5. Apr 10, 2021
  6. Apr 09, 2021