1. 15 6月, 2022 3 次提交
  2. 13 6月, 2022 16 次提交
  3. 12 6月, 2022 9 次提交
    • D
      platform/x86/intel: hid: Add Surface Go to VGBS allow list · d4fe9cc4
      Duke Lee 提交于
      The Surface Go reports Chassis Type 9 (Laptop,) so the device needs to be
      added to dmi_vgbs_allow_list to enable tablet mode when an attached Type
      Cover is folded back.
      
      BugLink: https://github.com/linux-surface/linux-surface/issues/837Signed-off-by: NDuke Lee <krnhotwings@gmail.com>
      Reviewed-by: NAndy Shevchenko <andy.shevchenko@gmail.com>
      Link: https://lore.kernel.org/r/20220607213654.5567-1-krnhotwings@gmail.comReviewed-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      d4fe9cc4
    • B
      platform/x86: hp-wmi: Use zero insize parameter only when supported · 65f936f3
      Bedant Patnaik 提交于
      commit be9d73e6 ("platform/x86: hp-wmi: Fix 0x05 error code reported by
      several WMI calls") and commit 12b19f14 ("platform/x86: hp-wmi: Fix
      hp_wmi_read_int() reporting error (0x05)") cause ACPI BIOS Error (bug):
      Attempt to CreateField of length zero (20211217/dsopcode-133) because of
      the ACPI method HWMC, which unconditionally creates a Field of
      size (insize*8) bits:
      	CreateField (Arg1, 0x80, (Local5 * 0x08), DAIN)
      In cases where args->insize = 0, the Field size is 0, resulting in
      an error.
      
      Fix this by using zero insize only if 0x5 error code is returned
      
      Tested on Omen 15 AMD (2020) board ID: 8786.
      
      Fixes: be9d73e6 ("platform/x86: hp-wmi: Fix 0x05 error code reported by several WMI calls")
      Signed-off-by: NBedant Patnaik <bedant.patnaik@gmail.com>
      Tested-by: NJorge Lopez <jorge.lopez2@hp.com>
      Link: https://lore.kernel.org/r/41be46743d21c78741232a47bbb5f1cdbcc3d21e.camel@gmail.comReviewed-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      65f936f3
    • J
      platform/x86: hp-wmi: Resolve WMI query failures on some devices · dc6a6ab5
      Jorge Lopez 提交于
      WMI queries fail on some devices where the ACPI method HWMC
      unconditionally attempts to create Fields beyond the buffer
      if the buffer is too small, this breaks essential features
      such as power profiles:
      
               CreateByteField (Arg1, 0x10, D008)
               CreateByteField (Arg1, 0x11, D009)
               CreateByteField (Arg1, 0x12, D010)
               CreateDWordField (Arg1, 0x10, D032)
               CreateField (Arg1, 0x80, 0x0400, D128)
      
      In cases where args->data had zero length, ACPI BIOS Error
      (bug): AE_AML_BUFFER_LIMIT, Field [D008] at bit
      offset/length 128/8 exceeds size of target Buffer (128 bits)
      (20211217/dsopcode-198) was obtained.
      
      ACPI BIOS Error (bug): AE_AML_BUFFER_LIMIT, Field [D009] at bit
      offset/length 136/8 exceeds size of target Buffer (136bits)
      (20211217/dsopcode-198)
      
      The original code created a buffer size of 128 bytes regardless if
      the WMI call required a smaller buffer or not.  This particular
      behavior occurs in older BIOS and reproduced in OMEN laptops.  Newer
      BIOS handles buffer sizes properly and meets the latest specification
      requirements.  This is the reason why testing with a dynamically
      allocated buffer did not uncover any failures with the test systems at
      hand.
      
      This patch was tested on several OMEN, Elite, and Zbooks.  It was
      confirmed the patch resolves HPWMI_FAN GET/SET calls in an OMEN
      Laptop 15-ek0xxx.  No problems were reported when testing on several Elite
      and Zbooks notebooks.
      
      Fixes: 4b4967cb ("platform/x86: hp-wmi: Changing bios_args.data to be dynamically allocated")
      Signed-off-by: NJorge Lopez <jorge.lopez2@hp.com>
      Reviewed-by: NAndy Shevchenko <andy.shevchenko@gmail.com>
      Link: https://lore.kernel.org/r/20220608212923.8585-2-jorge.lopez2@hp.comReviewed-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      dc6a6ab5
    • J
      workqueue: Switch to new kerneldoc syntax for named variable macro argument · 8bee9dd9
      Jonathan Neuschäfer 提交于
      The syntax without dots is available since commit 43756e34
      ("scripts/kernel-doc: Add support for named variable macro arguments").
      
      The same HTML output is produced with and without this patch.
      Signed-off-by: NJonathan Neuschäfer <j.neuschaefer@gmx.net>
      Acked-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NTejun Heo <tj@kernel.org>
      8bee9dd9
    • L
      Merge tag 'gpio-fixes-for-v5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 7a68065e
      Linus Torvalds 提交于
      Pull gpio fixes from Bartosz Golaszewski:
       "A set of fixes. Most address the new warning we emit at build time
        when irq chips are not immutable with some additional tweaks to
        gpio-crystalcove from Andy and a small tweak to gpio-dwapd.
      
         - make irq_chip structs immutable in several Diolan and intel drivers
           to get rid of the new warning we emit when fiddling with irq chips
      
         - don't print error messages on probe deferral in gpio-dwapb"
      
      * tag 'gpio-fixes-for-v5.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: dwapb: Don't print error on -EPROBE_DEFER
        gpio: dln2: make irq_chip immutable
        gpio: sch: make irq_chip immutable
        gpio: merrifield: make irq_chip immutable
        gpio: wcove: make irq_chip immutable
        gpio: crystalcove: Join function declarations and long lines
        gpio: crystalcove: Use specific type and API for IRQ number
        gpio: crystalcove: make irq_chip immutable
      7a68065e
    • L
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · cecb3540
      Linus Torvalds 提交于
      Pull SCSI fixes from James Bottomley:
       "Driver fixes and and one core patch.
      
        Nine of the driver patches are minor fixes and reworks to lpfc and the
        rest are trivial and minor fixes elsewhere"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: pmcraid: Fix missing resource cleanup in error case
        scsi: ipr: Fix missing/incorrect resource cleanup in error case
        scsi: mpt3sas: Fix out-of-bounds compiler warning
        scsi: lpfc: Update lpfc version to 14.2.0.4
        scsi: lpfc: Allow reduced polling rate for nvme_admin_async_event cmd completion
        scsi: lpfc: Add more logging of cmd and cqe information for aborted NVMe cmds
        scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
        scsi: lpfc: Resolve NULL ptr dereference after an ELS LOGO is aborted
        scsi: lpfc: Address NULL pointer dereference after starget_to_rport()
        scsi: lpfc: Resolve some cleanup issues following SLI path refactoring
        scsi: lpfc: Resolve some cleanup issues following abort path refactoring
        scsi: lpfc: Correct BDE type for XMIT_SEQ64_WQE in lpfc_ct_reject_event()
        scsi: vmw_pvscsi: Expand vcpuHint to 16 bits
        scsi: sd: Fix interpretation of VPD B9h length
      cecb3540
    • L
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · abe71eb3
      Linus Torvalds 提交于
      Pull virtio fixes from Michael Tsirkin:
       "Fixes all over the place, most notably fixes for latent bugs in
        drivers that got exposed by suppressing interrupts before DRIVER_OK,
        which in turn has been done by 8b4ec69d ("virtio: harden vring
        IRQ")"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        um: virt-pci: set device ready in probe()
        vdpa: make get_vq_group and set_group_asid optional
        virtio: Fix all occurences of the "the the" typo
        vduse: Fix NULL pointer dereference on sysfs access
        vringh: Fix loop descriptors check in the indirect cases
        vdpa/mlx5: clean up indenting in handle_ctrl_vlan()
        vdpa/mlx5: fix error code for deleting vlan
        virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed
        vdpa/mlx5: Fix syntax errors in comments
        virtio-rng: make device ready before making request
      abe71eb3
    • L
      Merge tag 'loongarch-fixes-5.19-1' of... · 0678afa6
      Linus Torvalds 提交于
      Merge tag 'loongarch-fixes-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch fixes from Huacai Chen.
       "Fix build errors and a stale comment"
      
      * tag 'loongarch-fixes-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
        LoongArch: Remove MIPS comment about cycle counter
        LoongArch: Fix copy_thread() build errors
        LoongArch: Fix the !CONFIG_SMP build
      0678afa6
    • L
      iov_iter: fix build issue due to possible type mis-match · 1c27f1fc
      Linus Torvalds 提交于
      Commit 6c776766 ("iov_iter: Fix iter_xarray_get_pages{,_alloc}()")
      introduced a problem on some 32-bit architectures (at least arm, xtensa,
      csky,sparc and mips), that have a 'size_t' that is 'unsigned int'.
      
      The reason is that we now do
      
          min(nr * PAGE_SIZE - offset, maxsize);
      
      where 'nr' and 'offset' and both 'unsigned int', and PAGE_SIZE is
      'unsigned long'.  As a result, the normal C type rules means that the
      first argument to 'min()' ends up being 'unsigned long'.
      
      In contrast, 'maxsize' is of type 'size_t'.
      
      Now, 'size_t' and 'unsigned long' are always the same physical type in
      the kernel, so you'd think this doesn't matter, and from an actual
      arithmetic standpoint it doesn't.
      
      But on 32-bit architectures 'size_t' is commonly 'unsigned int', even if
      it could also be 'unsigned long'.  In that situation, both are unsigned
      32-bit types, but they are not the *same* type.
      
      And as a result 'min()' will complain about the distinct types (ignore
      the "pointer types" part of the error message: that's an artifact of the
      way we have made 'min()' check types for being the same):
      
        lib/iov_iter.c: In function 'iter_xarray_get_pages':
        include/linux/minmax.h:20:35: error: comparison of distinct pointer types lacks a cast [-Werror]
           20 |         (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
              |                                   ^~
        lib/iov_iter.c:1464:16: note: in expansion of macro 'min'
         1464 |         return min(nr * PAGE_SIZE - offset, maxsize);
              |                ^~~
      
      This was not visible on 64-bit architectures (where we always define
      'size_t' to be 'unsigned long').
      
      Force these cases to use 'min_t(size_t, x, y)' to make the type explicit
      and avoid the issue.
      
      [ Nit-picky note: technically 'size_t' doesn't have to match 'unsigned
        long' arithmetically. We've certainly historically seen environments
        with 16-bit address spaces and 32-bit 'unsigned long'.
      
        Similarly, even in 64-bit modern environments, 'size_t' could be its
        own type distinct from 'unsigned long', even if it were arithmetically
        identical.
      
        So the above type commentary is only really descriptive of the kernel
        environment, not some kind of universal truth for the kinds of wild
        and crazy situations that are allowed by the C standard ]
      Reported-by: NSudip Mukherjee <sudipm.mukherjee@gmail.com>
      Link: https://lore.kernel.org/all/YqRyL2sIqQNDfky2@debian/
      Cc: Jeff Layton <jlayton@kernel.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1c27f1fc
  4. 11 6月, 2022 12 次提交