Skip to content

sunxi-5.16: Fix spi-nor node initialization error for orangepi-pc2#3597

Merged
igorpecovnik merged 2 commits into
armbian:masterfrom
The-going:sunxi-5.16
Mar 27, 2022
Merged

sunxi-5.16: Fix spi-nor node initialization error for orangepi-pc2#3597
igorpecovnik merged 2 commits into
armbian:masterfrom
The-going:sunxi-5.16

Conversation

@The-going
Copy link
Copy Markdown
Contributor

@The-going The-going commented Mar 27, 2022

Description

  • Remove unused pinctrl-sunxi-Fix-misleading-lockdep-deadlock-warnin.patch
  • Remove duplicate nodes from applied patches for the board
    sun50i-h5-orangepi-pc2. After this fix:
[    1.273158] spi-nor spi0.0: supply vdd not found, using dummy regulator
[    1.289979] spi-nor spi0.0: mx25l1606e (2048 Kbytes)
[    1.844599] Freeing initrd memory: 10892K
[    1.853243] 2 fixed-partitions partitions found on MTD device spi0.0
[    1.853276] Creating 2 MTD partitions on "spi0.0":
[    1.853288] 0x000000000000-0x000000100000 : "uboot"
[    1.854646] 0x000000100000-0x000000200000 : "env"

Checklist:

  • Test build for sunxi64
  • Health check on the board orangepi-pc2

The problem was solved in the upstream kernel.

commit e221ef82d9f5e97bca61f7c25e2b58b04466de87 linux-5.16.y branch.
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
...
[    1.288263] spi-nor spi0.0: supply vdd not found, using dummy regulator
[    1.306391] spi-nor spi0.0: mx25l1606e (2048 Kbytes)
[    1.845203] Freeing initrd memory: 10824K
[    1.855263] sun6i-spi 1c68000.spi: chipselect 0 already in use
[    1.861159] spi_master spi0: spi_device register error /soc/spi@1c68000/spi-flash@0
[    1.868842] spi_master spi0: Failed to create SPI device for /soc/spi@1c68000/spi-flash@0

Remove duplicate nodes from applied patches for the board
sun50i-h5-orangepi-pc2. After this fix:

[    1.290252] sun50i-h5-pinctrl 1c20800.pinctrl: supply vcc-pc not found, using dummy regulator
[    1.291250] spi-nor spi0.0: supply vdd not found, using dummy regulator
[    1.310397] spi-nor spi0.0: mx25l1606e (2048 Kbytes)
[    1.845686] Freeing initrd memory: 10824K
[    1.854333] 2 fixed-partitions partitions found on MTD device spi0.0
[    1.854369] Creating 2 MTD partitions on "spi0.0":
[    1.854381] 0x000000000000-0x000000100000 : "uboot"
[    1.855679] 0x000000100000-0x000000200000 : "env"
Copy link
Copy Markdown
Member

@igorpecovnik igorpecovnik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@igorpecovnik igorpecovnik merged commit 0b6dd13 into armbian:master Mar 27, 2022
@The-going The-going deleted the sunxi-5.16 branch April 2, 2022 09:40
littlecxm pushed a commit to littlecxm/armbian-build that referenced this pull request May 7, 2022
…rmbian#3597)

* Remove unused pinctrl-sunxi-Fix-misleading-lockdep-deadlock-warnin.patch

The problem was solved in the upstream kernel.

commit e221ef82d9f5e97bca61f7c25e2b58b04466de87 linux-5.16.y branch.
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
...

* Fix spi-nor node initialization error for orangepi-pc2

[    1.288263] spi-nor spi0.0: supply vdd not found, using dummy regulator
[    1.306391] spi-nor spi0.0: mx25l1606e (2048 Kbytes)
[    1.845203] Freeing initrd memory: 10824K
[    1.855263] sun6i-spi 1c68000.spi: chipselect 0 already in use
[    1.861159] spi_master spi0: spi_device register error /soc/spi@1c68000/spi-flash@0
[    1.868842] spi_master spi0: Failed to create SPI device for /soc/spi@1c68000/spi-flash@0

Remove duplicate nodes from applied patches for the board
sun50i-h5-orangepi-pc2. After this fix:

[    1.290252] sun50i-h5-pinctrl 1c20800.pinctrl: supply vcc-pc not found, using dummy regulator
[    1.291250] spi-nor spi0.0: supply vdd not found, using dummy regulator
[    1.310397] spi-nor spi0.0: mx25l1606e (2048 Kbytes)
[    1.845686] Freeing initrd memory: 10824K
[    1.854333] 2 fixed-partitions partitions found on MTD device spi0.0
[    1.854369] Creating 2 MTD partitions on "spi0.0":
[    1.854381] 0x000000000000-0x000000100000 : "uboot"
[    1.855679] 0x000000100000-0x000000200000 : "env"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants