1. 05 Mar, 2024 4 commits
    • Alexander Usyskin's avatar
      mei: gsc_proxy: match component when GSC is on different bus · a0776c21
      Alexander Usyskin authored
      On Arrow Lake S systems, MEI is no longer strictly connected to bus 0,
      while graphics remain exclusively on bus 0. Adapt the component
      matching logic to accommodate this change:
      
      Original behavior: Required both MEI and graphics to be on the same
      bus 0.
      
      New behavior: Only enforces graphics to be on bus 0 (integrated),
      allowing MEI to reside on any bus.
      This ensures compatibility with Arrow Lake S and maintains functionality
      for the legacy systems.
      
      Fixes: 1dd924f6 ("mei: gsc_proxy: add gsc proxy driver")
      Cc: stable@vger.kernel.org # v6.3+
      Signed-off-by: default avatarAlexander Usyskin <alexander.usyskin@intel.com>
      Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
      Link: https://lore.kernel.org/r/20240220200020.231192-1-tomas.winkler@intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a0776c21
    • Ekansh Gupta's avatar
      misc: fastrpc: Pass proper arguments to scm call · a283d7f1
      Ekansh Gupta authored
      For CMA memory allocation, ownership is assigned to DSP to make it
      accessible by the PD running on the DSP. With current implementation
      HLOS VM is stored in the channel structure during rpmsg_probe and
      this VM is passed to qcom_scm call as the source VM.
      
      The qcom_scm call will overwrite the passed source VM with the next
      VM which would cause a problem in case the scm call is again needed.
      Adding a local copy of source VM whereever scm call is made to avoid
      this problem.
      
      Fixes: 08715610 ("misc: fastrpc: Add support for audiopd")
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarEkansh Gupta <quic_ekangupt@quicinc.com>
      Reviewed-by: default avatarElliot Berman <quic_eberman@quicinc.com>
      Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      Link: https://lore.kernel.org/r/20240224114247.85953-2-srinivas.kandagatla@linaro.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a283d7f1
    • Ian Abbott's avatar
      comedi: comedi_test: Prevent timers rescheduling during deletion · f53641a6
      Ian Abbott authored
      The comedi_test devices have a couple of timers (ai_timer and ao_timer)
      that can be started to simulate hardware interrupts.  Their expiry
      functions normally reschedule the timer.  The driver code calls either
      del_timer_sync() or del_timer() to delete the timers from the queue, but
      does not currently prevent the timers from rescheduling themselves so
      synchronized deletion may be ineffective.
      
      Add a couple of boolean members (one for each timer: ai_timer_enable and
      ao_timer_enable) to the device private data structure to indicate
      whether the timers are allowed to reschedule themselves.  Set the member
      to true when adding the timer to the queue, and to false when deleting
      the timer from the queue in the waveform_ai_cancel() and
      waveform_ao_cancel() functions.
      
      The del_timer_sync() function is also called from the waveform_detach()
      function, but the timer enable members will already be set to false when
      that function is called, so no change is needed there.
      
      Fixes: 403fe7f3 ("staging: comedi: comedi_test: fix timer race conditions")
      Cc: stable@vger.kernel.org # 4.4+
      Signed-off-by: default avatarIan Abbott <abbotti@mev.co.uk>
      Link: https://lore.kernel.org/r/20240214100747.16203-1-abbotti@mev.co.ukSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f53641a6
    • Frej Drejhammar's avatar
      comedi: comedi_8255: Correct error in subdevice initialization · cfa9ba1a
      Frej Drejhammar authored
      The refactoring done in commit 5c57b1cc ("comedi: comedi_8255: Rework
      subdevice initialization functions") to the initialization of the io
      field of struct subdev_8255_private broke all cards using the
      drivers/comedi/drivers/comedi_8255.c module.
      
      Prior to 5c57b1cc, __subdev_8255_init() initialized the io field
      in the newly allocated struct subdev_8255_private to the non-NULL
      callback given to the function, otherwise it used a flag parameter to
      select between subdev_8255_mmio and subdev_8255_io. The refactoring
      removed that logic and the flag, as subdev_8255_mm_init() and
      subdev_8255_io_init() now explicitly pass subdev_8255_mmio and
      subdev_8255_io respectively to __subdev_8255_init(), only
      __subdev_8255_init() never sets spriv->io to the supplied
      callback. That spriv->io is NULL leads to a later BUG:
      
      BUG: kernel NULL pointer dereference, address: 0000000000000000
      PGD 0 P4D 0
      Oops: 0010 [#1] SMP PTI
      CPU: 1 PID: 1210 Comm: systemd-udevd Not tainted 6.7.3-x86_64 #1
      Hardware name: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      RIP: 0010:0x0
      Code: Unable to access opcode bytes at 0xffffffffffffffd6.
      RSP: 0018:ffffa3f1c02d7b78 EFLAGS: 00010202
      RAX: 0000000000000000 RBX: ffff91f847aefd00 RCX: 000000000000009b
      RDX: 0000000000000003 RSI: 0000000000000001 RDI: ffff91f840f6fc00
      RBP: ffff91f840f6fc00 R08: 0000000000000000 R09: 0000000000000001
      R10: 0000000000000000 R11: 000000000000005f R12: 0000000000000000
      R13: 0000000000000000 R14: ffffffffc0102498 R15: ffff91f847ce6ba8
      FS:  00007f72f4e8f500(0000) GS:ffff91f8d5c80000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: ffffffffffffffd6 CR3: 000000010540e000 CR4: 00000000000406f0
      Call Trace:
       <TASK>
       ? __die_body+0x15/0x57
       ? page_fault_oops+0x2ef/0x33c
       ? insert_vmap_area.constprop.0+0xb6/0xd5
       ? alloc_vmap_area+0x529/0x5ee
       ? exc_page_fault+0x15a/0x489
       ? asm_exc_page_fault+0x22/0x30
       __subdev_8255_init+0x79/0x8d [comedi_8255]
       pci_8255_auto_attach+0x11a/0x139 [8255_pci]
       comedi_auto_config+0xac/0x117 [comedi]
       ? __pfx___driver_attach+0x10/0x10
       pci_device_probe+0x88/0xf9
       really_probe+0x101/0x248
       __driver_probe_device+0xbb/0xed
       driver_probe_device+0x1a/0x72
       __driver_attach+0xd4/0xed
       bus_for_each_dev+0x76/0xb8
       bus_add_driver+0xbe/0x1be
       driver_register+0x9a/0xd8
       comedi_pci_driver_register+0x28/0x48 [comedi_pci]
       ? __pfx_pci_8255_driver_init+0x10/0x10 [8255_pci]
       do_one_initcall+0x72/0x183
       do_init_module+0x5b/0x1e8
       init_module_from_file+0x86/0xac
       __do_sys_finit_module+0x151/0x218
       do_syscall_64+0x72/0xdb
       entry_SYSCALL_64_after_hwframe+0x6e/0x76
      RIP: 0033:0x7f72f50a0cb9
      Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 47 71 0c 00 f7 d8 64 89 01 48
      RSP: 002b:00007ffd47e512d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
      RAX: ffffffffffffffda RBX: 0000562dd06ae070 RCX: 00007f72f50a0cb9
      RDX: 0000000000000000 RSI: 00007f72f52d32df RDI: 000000000000000e
      RBP: 0000000000000000 R08: 00007f72f5168b20 R09: 0000000000000000
      R10: 0000000000000050 R11: 0000000000000246 R12: 00007f72f52d32df
      R13: 0000000000020000 R14: 0000562dd06785c0 R15: 0000562dcfd0e9a8
       </TASK>
      Modules linked in: 8255_pci(+) comedi_8255 comedi_pci comedi intel_gtt e100(+) acpi_cpufreq rtc_cmos usbhid
      CR2: 0000000000000000
      ---[ end trace 0000000000000000 ]---
      RIP: 0010:0x0
      Code: Unable to access opcode bytes at 0xffffffffffffffd6.
      RSP: 0018:ffffa3f1c02d7b78 EFLAGS: 00010202
      RAX: 0000000000000000 RBX: ffff91f847aefd00 RCX: 000000000000009b
      RDX: 0000000000000003 RSI: 0000000000000001 RDI: ffff91f840f6fc00
      RBP: ffff91f840f6fc00 R08: 0000000000000000 R09: 0000000000000001
      R10: 0000000000000000 R11: 000000000000005f R12: 0000000000000000
      R13: 0000000000000000 R14: ffffffffc0102498 R15: ffff91f847ce6ba8
      FS:  00007f72f4e8f500(0000) GS:ffff91f8d5c80000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: ffffffffffffffd6 CR3: 000000010540e000 CR4: 00000000000406f0
      
      This patch simply corrects the above mistake by initializing spriv->io
      to the given io callback.
      
      Fixes: 5c57b1cc ("comedi: comedi_8255: Rework subdevice initialization functions")
      Signed-off-by: default avatarFrej Drejhammar <frej.drejhammar@gmail.com>
      Cc: stable@vger.kernel.org
      Acked-by: default avatarIan Abbott <abbotti@mev.co.uk>
      Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
      Link: https://lore.kernel.org/r/20240211175822.1357-1-frej.drejhammar@gmail.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cfa9ba1a
  2. 04 Mar, 2024 1 commit
    • Hans de Goede's avatar
      misc: lis3lv02d_i2c: Fix regulators getting en-/dis-abled twice on suspend/resume · ac3e0384
      Hans de Goede authored
      When not configured for wakeup lis3lv02d_i2c_suspend() will call
      lis3lv02d_poweroff() even if the device has already been turned off
      by the runtime-suspend handler and if configured for wakeup and
      the device is runtime-suspended at this point then it is not turned
      back on to serve as a wakeup source.
      
      Before commit b1b9f7a4 ("misc: lis3lv02d_i2c: Add missing setting
      of the reg_ctrl callback"), lis3lv02d_poweroff() failed to disable
      the regulators which as a side effect made calling poweroff() twice ok.
      
      Now that poweroff() correctly disables the regulators, doing this twice
      triggers a WARN() in the regulator core:
      
      unbalanced disables for regulator-dummy
      WARNING: CPU: 1 PID: 92 at drivers/regulator/core.c:2999 _regulator_disable
      ...
      
      Fix lis3lv02d_i2c_suspend() to not call poweroff() a second time if
      already runtime-suspended and add a poweron() call when necessary to
      make wakeup work.
      
      lis3lv02d_i2c_resume() has similar issues, with an added weirness that
      it always powers on the device if it is runtime suspended, after which
      the first runtime-resume will call poweron() again, causing the enabled
      count for the regulator to increase by 1 every suspend/resume. These
      unbalanced regulator_enable() calls cause the regulator to never
      be turned off and trigger the following WARN() on driver unbind:
      
      WARNING: CPU: 1 PID: 1724 at drivers/regulator/core.c:2396 _regulator_put
      
      Fix this by making lis3lv02d_i2c_resume() mirror the new suspend().
      
      Fixes: b1b9f7a4 ("misc: lis3lv02d_i2c: Add missing setting of the reg_ctrl callback")
      Reported-by: default avatarPaul Menzel <pmenzel@molgen.mpg.de>
      Closes: https://lore.kernel.org/regressions/5fc6da74-af0a-4aac-b4d5-a000b39a63a5@molgen.mpg.de/
      Cc: stable@vger.kernel.org
      Cc: regressions@lists.linux.dev
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Tested-by: Paul Menzel <pmenzel@molgen.mpg.de> # Dell XPS 15 7590
      Reviewed-by: default avatarPaul Menzel <pmenzel@molgen.mpg.de>
      Link: https://lore.kernel.org/r/20240220190035.53402-1-hdegoede@redhat.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ac3e0384
  3. 02 Mar, 2024 2 commits
    • Greg Kroah-Hartman's avatar
      Merge tag 'iio-fixes-for-6.8b' of... · da85c25c
      Greg Kroah-Hartman authored
      Merge tag 'iio-fixes-for-6.8b' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-linus
      
      Jonathan writes:
      
      IIO: 2nd set of fixes for the 6.8 cycle.
      
      Given this is very late these can wait for the 6.9 cycle if you would
      prefer.
      
      adi,adxl367
      - Sleep for 15ms after reset to avoid reading before the device is awake.
      - Fix FIFO register address.
      asc,dlhl60d
      - Avoid uninitialized data leak to user-space. Also suppress a false
        positive clang warning by refactoring a loop.
      bosch,bmp280
      - Fix missing extra byte in SPI reads from BMP38x and BMP390 parts
      invensense,mpu6050
      - Fix handing of empty FIFO which can happen due to a race condition.
      - Make sure frequency can be updated more than once when the FIFO is not
        enabled.
      
      * tag 'iio-fixes-for-6.8b' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio:
        iio: accel: adxl367: fix I2C FIFO data register
        iio: accel: adxl367: fix DEVID read after reset
        iio: pressure: dlhl60d: Initialize empty DLH bytes
        iio: imu: inv_mpu6050: fix frequency setting when chip is off
        iio: pressure: Fixes BMP38x and BMP390 SPI support
        iio: imu: inv_mpu6050: fix FIFO parsing when empty
      da85c25c
    • Greg Kroah-Hartman's avatar
      Merge tag 'counter-fixes-for-6.8b' of... · febbe9b9
      Greg Kroah-Hartman authored
      Merge tag 'counter-fixes-for-6.8b' of https://git.kernel.org/pub/scm/linux/kernel/git/wbg/counter into char-misc-linus
      
      William writes:
      
      First set of Counter fixes for 6.8
      
      One fix to ensure private data in struct counter_device_allochelper has
      minimum alignment for safe DMA operations.
      
      * tag 'counter-fixes-for-6.8b' of https://git.kernel.org/pub/scm/linux/kernel/git/wbg/counter:
        counter: fix privdata alignment
      febbe9b9
  4. 25 Feb, 2024 4 commits
  5. 24 Feb, 2024 2 commits
  6. 19 Feb, 2024 3 commits
  7. 18 Feb, 2024 6 commits
    • Linus Torvalds's avatar
      Linux 6.8-rc5 · b401b621
      Linus Torvalds authored
      b401b621
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v6.8-2' of... · 6c160f16
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Reformat nested if-conditionals in Makefiles with 4 spaces
      
       - Fix CONFIG_DEBUG_INFO_BTF builds for big endian
      
       - Fix modpost for module srcversion
      
       - Fix an escape sequence warning in gen_compile_commands.py
      
       - Fix kallsyms to ignore ARMv4 thunk symbols
      
      * tag 'kbuild-fixes-v6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kallsyms: ignore ARMv4 thunks along with others
        modpost: trim leading spaces when processing source files list
        gen_compile_commands: fix invalid escape sequence warning
        kbuild: Fix changing ELF file type for output of gen_btf for big endian
        docs: kconfig: Fix grammar and formatting
        kbuild: use 4-space indentation when followed by conditionals
      6c160f16
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v6.8_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ddac3d8b
      Linus Torvalds authored
      Pull x86 fix from Borislav Petkov:
      
       - Use a GB page for identity mapping only when memory of this size is
         requested so that mapping of reserved regions is prevented which
         would otherwise lead to system crashes on UV machines
      
      * tag 'x86_urgent_for_v6.8_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/ident_map: Use gbpages only where full GB page should be mapped.
      ddac3d8b
    • Linus Torvalds's avatar
      Merge tag 'irq_urgent_for_v6.8_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7cb7c32d
      Linus Torvalds authored
      Pull irq fixes from Borislav Petkov:
      
       - Fix GICv4.1 affinity update
      
       - Restore a quirk for ACPI-based GICv4 systems
      
       - Handle non-coherent GICv4 redistributors properly
      
       - Prevent spurious interrupts on Broadcom devices using GIC v3
         architecture
      
       - Other minor fixes
      
      * tag 'irq_urgent_for_v6.8_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/gic-v3-its: Fix GICv4.1 VPE affinity update
        irqchip/gic-v3-its: Restore quirk probing for ACPI-based systems
        irqchip/gic-v3-its: Handle non-coherent GICv4 redistributors
        irqchip/qcom-mpm: Fix IS_ERR() vs NULL check in qcom_mpm_init()
        irqchip/loongson-eiointc: Use correct struct type in eiointc_domain_alloc()
        irqchip/irq-brcmstb-l2: Add write memory barrier before exit
      7cb7c32d
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 626721ed
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "Two fixes for i801 and qcom-geni devices. Meanwhile, a fix from Arnd
        addresses a compilation error encountered during compile test on
        powerpc"
      
      * tag 'i2c-for-6.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: i801: Fix block process call transactions
        i2c: pasemi: split driver into two separate modules
        i2c: qcom-geni: Correct I2C TRE sequence
      626721ed
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · c02197fc
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "This is a bit of a big batch for rc4, but just due to holiday hangover
        and because I didn't send any fixes last week due to a late revert
        request. I think next week should be back to normal.
      
         - Fix ftrace bug on boot caused by exit text sections with
           '-fpatchable-function-entry'
      
         - Fix accuracy of stolen time on pseries since the switch to
           VIRT_CPU_ACCOUNTING_GEN
      
         - Fix a crash in the IOMMU code when doing DLPAR remove
      
         - Set pt_regs->link on scv entry to fix BPF stack unwinding
      
         - Add missing PPC_FEATURE_BOOKE on 64-bit e5500/e6500, which broke
           gdb
      
         - Fix boot on some 6xx platforms with STRICT_KERNEL_RWX enabled
      
         - Fix build failures with KASAN enabled and 32KB stack size
      
         - Some other minor fixes
      
        Thanks to Arnd Bergmann, Benjamin Gray, Christophe Leroy, David
        Engraf, Gaurav Batra, Jason Gunthorpe, Jiangfeng Xiao, Matthias
        Schiffer, Nathan Lynch, Naveen N Rao, Nicholas Piggin, Nysal Jan K.A,
        R Nageswara Sastry, Shivaprasad G Bhat, Shrikanth Hegde, Spoorthy,
        Srikar Dronamraju, and Venkat Rao Bagalkote"
      
      * tag 'powerpc-6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/iommu: Fix the missing iommu_group_put() during platform domain attach
        powerpc/pseries: fix accuracy of stolen time
        powerpc/ftrace: Ignore ftrace locations in exit text sections
        powerpc/cputable: Add missing PPC_FEATURE_BOOKE on PPC64 Book-E
        powerpc/kasan: Limit KASAN thread size increase to 32KB
        Revert "powerpc/pseries/iommu: Fix iommu initialisation during DLPAR add"
        powerpc: 85xx: mark local functions static
        powerpc: udbg_memcons: mark functions static
        powerpc/kasan: Fix addr error caused by page alignment
        powerpc/6xx: set High BAT Enable flag on G2_LE cores
        selftests/powerpc/papr_vpd: Check devfd before get_system_loc_code()
        powerpc/64: Set task pt_regs->link to the LR value on scv entry
        powerpc/pseries/iommu: Fix iommu initialisation during DLPAR add
        powerpc/pseries/papr-sysparm: use u8 arrays for payloads
      c02197fc
  8. 17 Feb, 2024 12 commits
  9. 16 Feb, 2024 6 commits