Bug 1619699

Summary: ARM PXA/MMP arches conflicts with suspend
Product: [Fedora] Fedora Reporter: Nicolas Chauvet (kwizart) <kwizart>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: airlied, bskeggs, ewk, hdegoede, ichavero, itamar, jarodwilson, jglisse, john.j5live, jonathan, josef, kernel-maint, linville, mchehab, mjg59, steved
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-09-24 19:32:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 245418    
Attachments:
Description Flags
Full log of systemctl suspend on trimslice none

Description Nicolas Chauvet (kwizart) 2018-08-21 13:54:19 UTC
Created attachment 1477516 [details]
Full log of systemctl suspend on trimslice

Description of problem:
When trying to enter suspend on tegra20 (Trimslice), I'm experiencing a crash related to the pxa_gpio driver that seems registered and prevent entering suspend.


Version-Release number of selected component (if applicable):
Current fedora branches.
Reproduced on kernel 4.18.1


How reproducible:
always (at least on a tegra20)

Steps to Reproduce:
1. boot using a serial with initcall_debug and no_console_suspend=1
2. log on serial from another host (there is no journal output of theses)
3. systemctl suspend

Actual results:
  [...]
[  118.291482] Disabling non-boot CPUs ...
[  118.321187] PM: Calling ledtrig_cpu_syscore_suspend+0x0/0x24
[  118.326961] PM: Calling sched_clock_suspend+0x0/0x40
[  118.331966] PM: Calling timekeeping_suspend+0x0/0x2bc
[  118.331966] PM: Calling irq_gc_suspend+0x0/0x80
[  118.331966] PM: Calling fw_suspend+0x0/0x28
[  118.331966] PM: Calling pxa_gpio_suspend+0x0/0x74
[  118.331966] Unable to handle kernel NULL pointer dereference at virtual address 000000d0
[  118.331966] pgd = 8e57fbdd
[  118.331966] [000000d0] *pgd=00000000
[  118.331966] Internal error: Oops: 5 [#1] SMP ARM
[  118.331966] Modules linked in: ofpart m25p80 spi_nor mtd tegra_drm snd_soc_tegra_trimslice snd_soc_tegra_utils cec rc_core drm_kms_helper snd_soc_tegra20_i2s snd_soc_tlv320aic23_i2c snd_soc_tlv320aic23 snd_sa
[  118.331966] CPU: 0 PID: 656 Comm: systemd-sleep Tainted: G         C        4.18.0-0.rc8.git0.1.tegra.fc28.armv7hl #1
[  118.331966] Hardware name: NVIDIA Tegra SoC (Flattened Device Tree)
[  118.331966] PC is at pxa_gpio_suspend+0x20/0x74
[  118.331966] LR is at syscore_suspend+0x140/0x270
[  118.331966] pc : [<c070f270>]    lr : [<c082a630>]    psr: 600f0193
[  118.331966] sp : c319bda8  ip : ffffffff  fp : c319bdb4
[  118.331966] r10: 00000004  r9 : c1304d80  r8 : c0e22934
[  118.331966] r7 : c13efb20  r6 : c13efb20  r5 : c1397ccc  r4 : 00000000
[  118.331966] r3 : 00000000  r2 : 00000000  r1 : 00000007  r0 : 00000000
[  118.331966] Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
[  118.331966] Control: 10c5387d  Table: 2b73804a  DAC: 00000051
[  118.331966] Process systemd-sleep (pid: 656, stack limit = 0x21bb6793)
[  118.331966] Stack: (0xc319bda8 to 0xc319c000)

Expected results:
There should be no initcall related to hw others than tegra.
(here pxa_gpio_suspend)

Additional info:
pxa_gpio is selected by CONFIG_ARCH_MMP and CONFIG_PLAT_PXA.

I'm suggesting to disable theses arches and any dependencies until a proper fix is made upstream.

(patch to be sent soon against the fedora kernel config).