1. 26 Aug, 2021 21 commits
  2. 24 Aug, 2021 3 commits
    • Maxim Devaev's avatar
      usb: gadget: f_hid: optional SETUP/SET_REPORT mode · d7428bc2
      Maxim Devaev authored
      f_hid provides the OUT Endpoint as only way for receiving reports
      from the host. SETUP/SET_REPORT method is not supported, and this causes
      a number of compatibility problems with various host drivers, especially
      in the case of keyboard emulation using f_hid.
      
        - Some hosts do not support the OUT Endpoint and ignore it,
          so it becomes impossible for the gadget to receive a report
          from the host. In the case of a keyboard, the gadget loses
          the ability to receive the status of the LEDs.
      
        - Some BIOSes/UEFIs can't work with HID devices with the OUT Endpoint
          at all. This may be due to their bugs or incomplete implementation
          of the HID standard.
          For example, absolutely all Apple UEFIs can't handle the OUT Endpoint
          if it goes after IN Endpoint in the descriptor and require the reverse
          order (OUT, IN) which is a violation of the standard.
          Other hosts either do not initialize gadgets with a descriptor
          containing the OUT Endpoint completely (like some HP and DELL BIOSes
          and embedded firmwares like on KVM switches), or initialize them,
          but will not poll the IN Endpoint.
      
      This patch adds configfs option no_out_endpoint=1 to disable
      the OUT Endpoint and allows f_hid to receive reports from the host
      via SETUP/SET_REPORT.
      
      Previously, there was such a feature in f_hid, but it was replaced
      by the OUT Endpoint [1] in the commit 99c51500 ("usb: gadget: hidg:
      register OUT INT endpoint for SET_REPORT"). So this patch actually
      returns the removed functionality while making it optional.
      For backward compatibility reasons, the OUT Endpoint mode remains
      the default behaviour.
      
        - The OUT Endpoint mode provides the report queue and reduces
          USB overhead (eliminating SETUP routine) on transmitting a report
          from the host.
      
        - If the SETUP/SET_REPORT mode is used, there is no report queue,
          so the userspace will only read last report. For classic HID devices
          like keyboards this is not a problem, since it's intended to transmit
          the status of the LEDs and only the last report is important.
          This mode provides better compatibility with strange and buggy
          host drivers.
      
      Both modes passed USBCV tests. Checking with the USB protocol analyzer
      also confirmed that everything is working as it should and the new mode
      ensures operability in all of the described cases.
      
      Link: https://www.spinics.net/lists/linux-usb/msg65494.html [1]
      Reviewed-by: default avatarMaciej Żenczykowski <zenczykowski@gmail.com>
      Acked-by: default avatarFelipe Balbi <balbi@kernel.org>
      Signed-off-by: default avatarMaxim Devaev <mdevaev@gmail.com>
      Link: https://lore.kernel.org/r/20210821134004.363217-1-mdevaev@gmail.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d7428bc2
    • Greg Kroah-Hartman's avatar
      Merge tag 'thunderbolt-for-v5.15-rc1' of... · bfa109d7
      Greg Kroah-Hartman authored
      Merge tag 'thunderbolt-for-v5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt into usb-next
      
      Mika writes:
      
      thunderbolt: Changes for v5.15 merge window
      
      This includes following Thunderbolt/USB4 changes for the v5.15 merge
      window:
      
        * Include authorized value in the KOBJ_CHANGE event of a device router
        * A couple of improvements to get the driver working also with the AMD
          USB4 host controller.
      
      All these have been in linux-next with no reported issues.
      
      * tag 'thunderbolt-for-v5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt:
        thunderbolt: Fix port linking by checking all adapters
        thunderbolt: Do not read control adapter config space
        thunderbolt: Handle ring interrupt by reading interrupt status register
        thunderbolt: Add vendor specific NHI quirk for auto-clearing interrupt status
        thunderbolt: Add authorized value to the KOBJ_CHANGE uevent
      bfa109d7
    • Greg Kroah-Hartman's avatar
      Merge 5.14-rc7 into usb-next · 85fb1a27
      Greg Kroah-Hartman authored
      We need the USB fix in here as well.
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      85fb1a27
  3. 22 Aug, 2021 2 commits
  4. 21 Aug, 2021 9 commits
  5. 20 Aug, 2021 5 commits
    • Jens Axboe's avatar
      io_uring: fix xa_alloc_cycle() error return value check · a30f895a
      Jens Axboe authored
      We currently check for ret != 0 to indicate error, but '1' is a valid
      return and just indicates that the allocation succeeded with a wrap.
      Correct the check to be for < 0, like it was before the xarray
      conversion.
      
      Cc: stable@vger.kernel.org
      Fixes: 61cf9370 ("io_uring: Convert personality_idr to XArray")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      a30f895a
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · fa54d366
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "These fix two mistakes in new code.
      
        Specifics:
      
         - Prevent confusing messages from being printed if the PRMT table is
           not present or there are no PRM modules (Aubrey Li).
      
         - Fix the handling of suspend-to-idle entry and exit in the case when
           the Microsoft UUID is used with the Low-Power S0 Idle _DSM
           interface (Mario Limonciello)"
      
      * tag 'acpi-5.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: PM: s2idle: Invert Microsoft UUID entry and exit
        ACPI: PRM: Deal with table not present or no module found
      fa54d366
    • Linus Torvalds's avatar
      Merge tag 'pm-5.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · cae68764
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix some issues in the ARM cpufreq drivers and in the operating
        performance points (OPP) framework.
      
        Specifics:
      
         - Fix useless WARN() in the OPP core and prevent a noisy warning
           from being printed by OPP _put functions (Dmitry Osipenko).
      
         - Fix error path when allocation failed in the arm_scmi cpufreq
           driver (Lukasz Luba).
      
         - Blacklist Qualcomm sc8180x and Qualcomm sm8150 in
           cpufreq-dt-platdev (Bjorn Andersson, Thara Gopinath).
      
         - Forbid cpufreq for 1.2 GHz variant in the armada-37xx cpufreq
           driver (Marek Behún)"
      
      * tag 'pm-5.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        opp: Drop empty-table checks from _put functions
        cpufreq: armada-37xx: forbid cpufreq for 1.2 GHz variant
        cpufreq: blocklist Qualcomm sm8150 in cpufreq-dt-platdev
        cpufreq: arm_scmi: Fix error path when allocation failed
        opp: remove WARN when no valid OPPs remain
        cpufreq: blacklist Qualcomm sc8180x in cpufreq-dt-platdev
      cae68764
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · ed3bad2e
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "10 patches.
      
        Subsystems affected by this patch series: MAINTAINERS and mm (shmem,
        pagealloc, tracing, memcg, memory-failure, vmscan, kfence, and
        hugetlb)"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        hugetlb: don't pass page cache pages to restore_reserve_on_error
        kfence: fix is_kfence_address() for addresses below KFENCE_POOL_SIZE
        mm: vmscan: fix missing psi annotation for node_reclaim()
        mm/hwpoison: retry with shake_page() for unhandlable pages
        mm: memcontrol: fix occasional OOMs due to proportional memory.low reclaim
        MAINTAINERS: update ClangBuiltLinux IRC chat
        mmflags.h: add missing __GFP_ZEROTAGS and __GFP_SKIP_KASAN_POISON names
        mm/page_alloc: don't corrupt pcppage_migratetype
        Revert "mm: swap: check if swap backing device is congested or not"
        Revert "mm/shmem: fix shmem_swapin() race with swapoff"
      ed3bad2e
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2021-08-20-3' of git://anongit.freedesktop.org/drm/drm · 8ba9fbe1
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Regularly scheduled fixes. The ttm one solves a problem of GPU drivers
        failing to load if debugfs is off in Kconfig, otherwise the i915 and
        mediatek, and amdgpu fixes all fairly normal.
      
        Nouveau has a couple of display fixes, but it has a fix for a
        longstanding race condition in it's memory manager code, and the fix
        mostly removes some code that wasn't working properly and has no
        userspace users. This fix makes the diffstat kinda larger but in a
        good (negative line-count) way.
      
        core:
         - fix drm_wait_vblank uapi copying bug
      
        ttm:
         - fix debugfs init when debugfs is off
      
        amdgpu:
         - vega10 SMU workload fix
         - DCN VM fix
         - DCN 3.01 watermark fix
      
        amdkfd:
         - SVM fix
      
        nouveau:
         - ampere display fixes
         - remove MM misfeature to fix a longstanding race condition
      
        i915:
         - tweaked display workaround for all PCHs
         - eDP MSO pipe sanity for ADL-P fix
         - remove unused symbol export
      
        mediatek:
         - AAL output size setting
         - Delete component in remove function"
      
      * tag 'drm-fixes-2021-08-20-3' of git://anongit.freedesktop.org/drm/drm:
        drm/amd/display: Use DCN30 watermark calc for DCN301
        drm/i915/dp: remove superfluous EXPORT_SYMBOL()
        drm/i915/edp: fix eDP MSO pipe sanity checks for ADL-P
        drm/i915: Tweaked Wa_14010685332 for all PCHs
        drm/nouveau: rip out nvkm_client.super
        drm/nouveau: block a bunch of classes from userspace
        drm/nouveau/fifo/nv50-: rip out dma channels
        drm/nouveau/kms/nv50: workaround EFI GOP window channel format differences
        drm/nouveau/disp: power down unused DP links during init
        drm/nouveau: recognise GA107
        drm: Copy drm_wait_vblank to user before returning
        drm/amd/display: Ensure DCN save after VM setup
        drm/amdkfd: fix random KFDSVMRangeTest.SetGetAttributesTest test failure
        drm/amd/pm: change the workload type for some cards
        Revert "drm/amd/pm: fix workload mismatch on vega10"
        drm: ttm: Don't bail from ttm_global_init if debugfs_create_dir fails
        drm/mediatek: Add component_del in OVL and COLOR remove function
        drm/mediatek: Add AAL output size configuration
      8ba9fbe1