1. 30 Jun, 2022 1 commit
  2. 29 Jun, 2022 8 commits
  3. 27 Jun, 2022 9 commits
  4. 22 Jun, 2022 2 commits
  5. 01 Jun, 2022 4 commits
  6. 31 May, 2022 4 commits
  7. 28 May, 2022 5 commits
  8. 27 May, 2022 1 commit
  9. 26 May, 2022 2 commits
    • Dmitry Torokhov's avatar
      Input: stmfts - do not leave device disabled in stmfts_input_open · 5f76955a
      Dmitry Torokhov authored
      The commit 26623eea attempted to deal with potential leak of runtime
      PM counter when opening the touchscreen device, however it ended up
      erroneously dropping the counter in the case of successfully enabling the
      device.
      
      Let's address this by using pm_runtime_resume_and_get() and then executing
      pm_runtime_put_sync() only when we fail to send "sense on" command to the
      device.
      
      Fixes: 26623eea ("Input: stmfts - fix reference leak in stmfts_input_open")
      Reported-by: default avatarPavel Machek <pavel@denx.de>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      5f76955a
    • Lad Prabhakar's avatar
      Input: gpio-keys - cancel delayed work only in case of GPIO · cee409bb
      Lad Prabhakar authored
      gpio_keys module can either accept gpios or interrupts. The module
      initializes delayed work in case of gpios only and is only used if
      debounce timer is not used, so make sure cancel_delayed_work_sync()
      is called only when its gpio-backed and debounce_use_hrtimer is false.
      
      This fixes the issue seen below when the gpio_keys module is unloaded and
      an interrupt pin is used instead of GPIO:
      
      [  360.297569] ------------[ cut here ]------------
      [  360.302303] WARNING: CPU: 0 PID: 237 at kernel/workqueue.c:3066 __flush_work+0x414/0x470
      [  360.310531] Modules linked in: gpio_keys(-)
      [  360.314797] CPU: 0 PID: 237 Comm: rmmod Not tainted 5.18.0-rc5-arm64-renesas-00116-g73636105874d-dirty #166
      [  360.324662] Hardware name: Renesas SMARC EVK based on r9a07g054l2 (DT)
      [  360.331270] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
      [  360.338318] pc : __flush_work+0x414/0x470
      [  360.342385] lr : __cancel_work_timer+0x140/0x1b0
      [  360.347065] sp : ffff80000a7fba00
      [  360.350423] x29: ffff80000a7fba00 x28: ffff000012b9c5c0 x27: 0000000000000000
      [  360.357664] x26: ffff80000a7fbb80 x25: ffff80000954d0a8 x24: 0000000000000001
      [  360.364904] x23: ffff800009757000 x22: 0000000000000000 x21: ffff80000919b000
      [  360.372143] x20: ffff00000f5974e0 x19: ffff00000f5974e0 x18: ffff8000097fcf48
      [  360.379382] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000053f40
      [  360.386622] x14: ffff800009850e88 x13: 0000000000000002 x12: 000000000000a60c
      [  360.393861] x11: 000000000000a610 x10: 0000000000000000 x9 : 0000000000000008
      [  360.401100] x8 : 0101010101010101 x7 : 00000000a473c394 x6 : 0080808080808080
      [  360.408339] x5 : 0000000000000001 x4 : 0000000000000000 x3 : ffff80000919b458
      [  360.415578] x2 : ffff8000097577f0 x1 : 0000000000000001 x0 : 0000000000000000
      [  360.422818] Call trace:
      [  360.425299]  __flush_work+0x414/0x470
      [  360.429012]  __cancel_work_timer+0x140/0x1b0
      [  360.433340]  cancel_delayed_work_sync+0x10/0x18
      [  360.437931]  gpio_keys_quiesce_key+0x28/0x58 [gpio_keys]
      [  360.443327]  devm_action_release+0x10/0x18
      [  360.447481]  release_nodes+0x8c/0x1a0
      [  360.451194]  devres_release_all+0x90/0x100
      [  360.455346]  device_unbind_cleanup+0x14/0x60
      [  360.459677]  device_release_driver_internal+0xe8/0x168
      [  360.464883]  driver_detach+0x4c/0x90
      [  360.468509]  bus_remove_driver+0x54/0xb0
      [  360.472485]  driver_unregister+0x2c/0x58
      [  360.476462]  platform_driver_unregister+0x10/0x18
      [  360.481230]  gpio_keys_exit+0x14/0x828 [gpio_keys]
      [  360.486088]  __arm64_sys_delete_module+0x1e0/0x270
      [  360.490945]  invoke_syscall+0x40/0xf8
      [  360.494661]  el0_svc_common.constprop.3+0xf0/0x110
      [  360.499515]  do_el0_svc+0x20/0x78
      [  360.502877]  el0_svc+0x48/0xf8
      [  360.505977]  el0t_64_sync_handler+0x88/0xb0
      [  360.510216]  el0t_64_sync+0x148/0x14c
      [  360.513930] irq event stamp: 4306
      [  360.517288] hardirqs last  enabled at (4305): [<ffff8000080b0300>] __cancel_work_timer+0x130/0x1b0
      [  360.526359] hardirqs last disabled at (4306): [<ffff800008d194fc>] el1_dbg+0x24/0x88
      [  360.534204] softirqs last  enabled at (4278): [<ffff8000080104a0>] _stext+0x4a0/0x5e0
      [  360.542133] softirqs last disabled at (4267): [<ffff8000080932ac>] irq_exit_rcu+0x18c/0x1b0
      [  360.550591] ---[ end trace 0000000000000000 ]---
      Signed-off-by: default avatarLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
      Link: https://lore.kernel.org/r/20220524135822.14764-1-prabhakar.mahadev-lad.rj@bp.renesas.comSigned-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      cee409bb
  10. 22 May, 2022 4 commits
    • Linus Torvalds's avatar
      Linux 5.18 · 4b0986a3
      Linus Torvalds authored
      4b0986a3
    • David Howells's avatar
      afs: Fix afs_getattr() to refetch file status if callback break occurred · 2aeb8c86
      David Howells authored
      If a callback break occurs (change notification), afs_getattr() needs to
      issue an FS.FetchStatus RPC operation to update the status of the file
      being examined by the stat-family of system calls.
      
      Fix afs_getattr() to do this if AFS_VNODE_CB_PROMISED has been cleared
      on a vnode by a callback break.  Skip this if AT_STATX_DONT_SYNC is set.
      
      This can be tested by appending to a file on one AFS client and then
      using "stat -L" to examine its length on a machine running kafs.  This
      can also be watched through tracing on the kafs machine.  The callback
      break is seen:
      
           kworker/1:1-46      [001] .....   978.910812: afs_cb_call: c=0000005f YFSCB.CallBack
           kworker/1:1-46      [001] ...1.   978.910829: afs_cb_break: 100058:23b4c:242d2c2 b=2 s=1 break-cb
           kworker/1:1-46      [001] .....   978.911062: afs_call_done:    c=0000005f ret=0 ab=0 [0000000082994ead]
      
      And then the stat command generated no traffic if unpatched, but with
      this change a call to fetch the status can be observed:
      
                  stat-4471    [000] .....   986.744122: afs_make_fs_call: c=000000ab 100058:023b4c:242d2c2 YFS.FetchStatus
                  stat-4471    [000] .....   986.745578: afs_call_done:    c=000000ab ret=0 ab=0 [0000000087fc8c84]
      
      Fixes: 08e0e7c8 ("[AF_RXRPC]: Make the in-kernel AFS filesystem use AF_RXRPC.")
      Reported-by: default avatarMarkus Suvanto <markus.suvanto@gmail.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Marc Dionne <marc.dionne@auristor.com>
      cc: linux-afs@lists.infradead.org
      Tested-by: default avatarMarkus Suvanto <markus.suvanto@gmail.com>
      Tested-by: kafs-testing+fedora34_64checkkafs-build-496@auristor.com
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=216010
      Link: https://lore.kernel.org/r/165308359800.162686.14122417881564420962.stgit@warthog.procyon.org.uk/ # v1
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2aeb8c86
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 978df3e1
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "Some I2C driver bugfixes for 5.18. Nothing spectacular but worth
        fixing"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        drivers: i2c: thunderx: Allow driver to work with ACPI defined TWSI controllers
        i2c: ismt: Provide a DMA buffer for Interrupt Cause Logging
        i2c: mt7621: fix missing clk_disable_unprepare() on error in mtk_i2c_probe()
      978df3e1
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v5.18-2022-05-21' of... · eaea45fc
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v5.18-2022-05-21' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools fixes from Arnaldo Carvalho de Melo:
      
       - Fix and validate CPU map inputs in synthetic PERF_RECORD_STAT events
         in 'perf stat'.
      
       - Fix x86's arch__intr_reg_mask() for the hybrid platform.
      
       - Address 'perf bench numa' compiler error on s390.
      
       - Fix check for btf__load_from_kernel_by_id() in libbpf.
      
       - Fix "all PMU test" 'perf test' to skip hv_24x7/hv_gpci tests on
         powerpc.
      
       - Fix session topology test to skip the test in guest environment.
      
       - Skip BPF 'perf test' if clang is not present.
      
       - Avoid shell test description infinite loop in 'perf test'.
      
       - Fix Intel LBR callstack entries and nr print message.
      
      * tag 'perf-tools-fixes-for-v5.18-2022-05-21' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        perf session: Fix Intel LBR callstack entries and nr print message
        perf test bpf: Skip test if clang is not present
        perf test session topology: Fix test to skip the test in guest environment
        perf bench numa: Address compiler error on s390
        perf test: Avoid shell test description infinite loop
        perf regs x86: Fix arch__intr_reg_mask() for the hybrid platform
        perf test: Fix "all PMU test" to skip hv_24x7/hv_gpci tests on powerpc
        perf stat: Fix and validate CPU map inputs in synthetic PERF_RECORD_STAT events
        perf build: Fix check for btf__load_from_kernel_by_id() in libbpf
      eaea45fc