armbian_build/patch/kernel
The-going c58d048a0a
Fixed the application of an unnecessary patch (#3534)
* This is already contained in the 5.15.27 kernel

pinctrl: sunxi: Use unique lockdep classes for IRQs

commit 896d1b8a36129c3f1378fbbafd7c394a877635b5 linux-5.15.y
commit bac129dbc6560dfeb634c03f0c08b78024e71915 upstream.

This driver, like several others, uses a chained IRQ for each GPIO bank,
and forwards .irq_set_wake to the GPIO bank's upstream IRQ. As a result,
a call to irq_set_irq_wake() needs to lock both the upstream and
downstream irq_desc's. Lockdep considers this to be a possible deadlock
when the irq_desc's share lockdep classes, which they do by default:

     ============================================
     WARNING: possible recursive locking detected
     5.17.0-rc3-00394-gc849047c2473 #1 Not tainted
     --------------------------------------------
     init/307 is trying to acquire lock:
     c2dfe27c (&irq_desc_lock_class){-.-.}-{2:2}, at: __irq_get_desc_lock+0x58/0xa0

     but task is already holding lock:
     c3c0ac7c (&irq_desc_lock_class){-.-.}-{2:2}, at: __irq_get_desc_lock+0x58/0xa0

     other info that might help us debug this:
      Possible unsafe locking scenario:

            CPU0
            ----
       lock(&irq_desc_lock_class);
       lock(&irq_desc_lock_class);

      *** DEADLOCK ***

      May be due to missing lock nesting notation

     4 locks held by init/307:
      #0: c1f29f18 (system_transition_mutex){+.+.}-{3:3}, at: __do_sys_reboot+0x90/0x23c
      #1: c20f7760 (&dev->mutex){....}-{3:3}, at: device_shutdown+0xf4/0x224
      #2: c2e804d8 (&dev->mutex){....}-{3:3}, at: device_shutdown+0x104/0x224
      #3: c3c0ac7c (&irq_desc_lock_class){-.-.}-{2:2}, at: __irq_get_desc_lock+0x58/0xa0

     stack backtrace:
     CPU: 0 PID: 307 Comm: init Not tainted 5.17.0-rc3-00394-gc849047c2473 #1
     Hardware name: Allwinner sun8i Family
      unwind_backtrace from show_stack+0x10/0x14
      show_stack from dump_stack_lvl+0x68/0x90
      dump_stack_lvl from __lock_acquire+0x1680/0x31a0
      __lock_acquire from lock_acquire+0x148/0x3dc
      lock_acquire from _raw_spin_lock_irqsave+0x50/0x6c
      _raw_spin_lock_irqsave from __irq_get_desc_lock+0x58/0xa0
      __irq_get_desc_lock from irq_set_irq_wake+0x2c/0x19c
      irq_set_irq_wake from irq_set_irq_wake+0x13c/0x19c
        [tail call from sunxi_pinctrl_irq_set_wake]
      irq_set_irq_wake from gpio_keys_suspend+0x80/0x1a4
      gpio_keys_suspend from gpio_keys_shutdown+0x10/0x2c
      gpio_keys_shutdown from device_shutdown+0x180/0x224
      device_shutdown from __do_sys_reboot+0x134/0x23c
      __do_sys_reboot from ret_fast_syscall+0x0/0x1c

    However, this can never deadlock because the upstream and downstream
    IRQs are never the same (nor do they even involve the same irqchip).

    Silence this erroneous lockdep splat by applying what appears to be the
    usual fix of moving the GPIO IRQs to separate lockdep classes.

    Fixes: a59c99d9eaf9 ("pinctrl: sunxi: Forward calls to irq_set_irq_wake")
    Reported-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Samuel Holland <samuel@sholland.org>
    Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
    Tested-by: Guenter Roeck <linux@roeck-us.net>
    Link: https://lore.kernel.org/r/20220216040037.22730-1-samuel@sholland.org
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

* This is already contained in the 5.16.13 kernel

pinctrl: sunxi: Use unique lockdep classes for IRQs

commit e221ef82d9f5e97bca61f7c25e2b58b04466de87 linux-5.16.y.
commit bac129dbc6560dfeb634c03f0c08b78024e71915 upstream.

This driver, like several others, uses a chained IRQ for each GPIO bank,
and forwards .irq_set_wake to the GPIO bank's upstream IRQ. As a result,
a call to irq_set_irq_wake() needs to lock both the upstream and
downstream irq_desc's. Lockdep considers this to be a possible deadlock
when the irq_desc's share lockdep classes, which they do by default:

============================================
WARNING: possible recursive locking detected
5.17.0-rc3-00394-gc849047c2473 #1 Not tainted
--------------------------------------------
....
2022-03-12 23:15:35 +01:00
..
archive Fixed the application of an unnecessary patch (#3534) 2022-03-12 23:15:35 +01:00
media-current Rk restore drm patches (#3516) 2022-02-26 17:56:52 +01:00
media-edge Merge rockhip drm patches into one, adjust configs (#3515) 2022-02-26 14:04:38 +01:00
bcm2711-current Bump UEFI current & edge kernels to 5.15.y / 5.16.y (#3491) 2022-02-14 23:34:40 +01:00
bcm2711-edge Bump UEFI current & edge kernels to 5.15.y / 5.16.y (#3491) 2022-02-14 23:34:40 +01:00
imx6-current Bumping sunxi/64, xu4, rockchip and mvebu64 to 5.16.y (#3453) 2022-02-10 20:32:58 +01:00
imx6-edge Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238) 2021-11-09 18:06:34 +01:00
jetson-nano-legacy Patches adjustments for Jetson, XU4 and Meson64 legacy (#2895) 2021-06-12 10:06:37 +02:00
meson64-current Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
meson64-edge Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238) 2021-11-09 18:06:34 +01:00
meson64-legacy Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
meson-current Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
meson-edge Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
meson-legacy Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
mt7623-legacy Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
mvebu64-current Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
mvebu64-edge mvebu - remove deprecated patches 2021-05-14 14:31:18 +02:00
mvebu64-legacy Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
mvebu-current Bump mvebu-current to 5.15 and mvebu-edge to 5.16 2022-02-11 11:00:57 +01:00
mvebu-edge Bump mvebu-current to 5.15 and mvebu-edge to 5.16 2022-02-11 11:00:57 +01:00
mvebu-legacy Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
odroidxu4-current Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
odroidxu4-edge Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238) 2021-11-09 18:06:34 +01:00
odroidxu4-legacy Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
rk35xx-edge Support edge kernel for Rock 3A and rk35xx (#3371) 2022-02-01 22:53:43 +01:00
rk35xx-legacy Preliminary support for rockchip rk35xx boards (#3111) 2021-09-15 22:08:39 +02:00
rk322x-current Bumping sunxi/64, xu4, rockchip and mvebu64 to 5.16.y (#3453) 2022-02-10 20:32:58 +01:00
rk322x-edge Bumping sunxi/64, xu4, rockchip and mvebu64 to 5.16.y (#3453) 2022-02-10 20:32:58 +01:00
rk322x-legacy Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
rk3399-legacy Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
rockchip64-current Switch rockchip64 current to linux 5.15.y (#3489) 2022-02-26 07:46:44 +01:00
rockchip64-edge Switch rockchip64 current to linux 5.15.y (#3489) 2022-02-26 07:46:44 +01:00
rockchip64-legacy Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
rockchip-current Bumping sunxi/64, xu4, rockchip and mvebu64 to 5.16.y (#3453) 2022-02-10 20:32:58 +01:00
rockchip-edge Bumping sunxi/64, xu4, rockchip and mvebu64 to 5.16.y (#3453) 2022-02-10 20:32:58 +01:00
rockchip-legacy Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
rockpis-legacy Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
s5p6818-legacy Renaming DEV branch to EDGE (#2704) 2021-03-24 19:01:53 +01:00
sun50iw9-legacy Adding OPi Zero2 legacy kernel support (#2620) 2021-08-12 19:19:18 +02:00
sunxi-current Bumping sunxi/64, xu4, rockchip and mvebu64 to 5.16.y (#3453) 2022-02-10 20:32:58 +01:00
sunxi-edge Bumping sunxi/64, xu4, rockchip and mvebu64 to 5.16.y (#3453) 2022-02-10 20:32:58 +01:00
sunxi-legacy Bumping sunxi/64, xu4, rockchip and mvebu64 to 5.16.y (#3453) 2022-02-10 20:32:58 +01:00
uefi-arm64-current Bump UEFI current & edge kernels to 5.15.y / 5.16.y (#3491) 2022-02-14 23:34:40 +01:00
uefi-arm64-edge Bump UEFI current & edge kernels to 5.15.y / 5.16.y (#3491) 2022-02-14 23:34:40 +01:00
uefi-x86-current Bump UEFI current & edge kernels to 5.15.y / 5.16.y (#3491) 2022-02-14 23:34:40 +01:00
uefi-x86-edge extensions framework + UEFI aarch64/x86 + rpi4b + core changes/fixes (#3300) 2021-12-06 09:49:49 +01:00
zynq-legacy Add Avnet MicroZed 2021-04-10 20:39:31 -04:00