Kernel sources for Moto G9 (Play) (Guamp)
Find a file
a17671 d512f6a281 mmc:host:sdhci:Fix host->claimer NULL pointer problem
Once the SD card is removed,
MMC core will set the the host->claimer=NULL & host->claimer->task=NULL 
So sdhci_dump_state shall check this condition
To avoid using the host->claimer pointer directly
Below shows the parsed call stack and logs:
Unable to handle kernel NULL pointer dereference at virtual address 0000
<6> Mem abort info:
<6>   ESR = 0x96000005
<6>   Exception class = DABT (current EL), IL = 32 bits
<6>   SET = 0, FnV = 0
<6>   EA = 0, S1PTW = 0
<6> Data abort info:
<6>   ISV = 0, ISS = 0x00000005
<6>   CM = 0, WnR = 0
<6> user pgtable: 4k pages, 39-bit VAs, pgdp = 000000000e17a57e
6> [0000000000000000] pgd=0000000000000000, pud=0000000000000000
<6> Internal error: Oops: 96000005 [#1] PREEMPT SMP
<2> pstate: 60000085 (nZCv daIf -PAN -UAO)
<2> pc : sdhci_dumpregs+0xf1c/0x1250
<2> lr : sdhci_dumpregs+0xef0/0x1250
<2> sp : ffffff8008003d60
<2> x29: ffffff8008003dc0 x28: 0000000000000012 
<2> x27: ffffffc0f76b47c0 x26: ffffff800aebc038 
<2> x25: 0000000003ff100b x24: ffffffc0f76b47b8 
<2> x23: ffffff800aebc058 x22: 0000000000000000 
<2> x21: 0000000000000003 x20: ffffffc0f76b4000 
<2> x19: ffffffc0f76b4780 x18: 0000000000000090 
<2> x17: ffffff800abb8598 x16: 3030303030307830 
<2> x15: 0000000000000040 x14: 0000000000000048 
<2> x13: 0000000000000008 x12: 0000000000000000 
<2> x11: 0000000000000001 x10: 0000000000000007 
<2> x9 : 7c9075bd256d4900 x8 : 0000000000000000 
<2> x7 : 0000000000000000 x6 : ffffff800a35f428 
<2> x5 : 0000000000000000 x4 : 000000000000000c 
<2> x3 : 0000000000000000 x2 : 000000000c0a4680 
<2> x1 : ffffffc0f764c100 x0 : ffffff800994b313   

Call stack:-
-012|sdhci_dump_state(inline)
-012|sdhci_dumpregs([X19] host = 0xFFFFFFC0F76B4780 = end+0x40ECFA2780)
-013|sdhci_data_irq(inline)
-013|sdhci_irq()
-014|__read_once_size(inline)
-014|static_key_count(inline)
-014|static_key_false(inline)
-014|trace_irq_handler_exit(inline)
-014|__handle_irq_event_percpu()
-015|handle_irq_event_percpu(inline)
-015|handle_irq_event([X19] desc = 0xFFFFFFC0FA892200 = end+0x40F0180200)
-016|cond_unmask_eoi_irq(inline)
-016|handle_fasteoi_irq([X21] desc = 0xFFFFFFC0FA892200 = end+0x40F0180200)
-017|__handle_domain_irq([X20] domain = 0xFFFFFFC005FF9800 = end+0x3FFB8E7800, ?, [X22] lookup = TRUE, [X
---|end of frame

Instruction set:-
NSX:FFFFFF8008B04A98|F942CA88 ldr x8,[x20,#0x590] ; x8,[mmc,#1424] 
-->>x8 = 0xFFFFFFC0F76B4000+0x590
= 0xFFFFFFC0F76B4590 (correct address)
NSX:FFFFFF8008B04A9C|F0007220 adrp x0,0xFFFFFF800994B000
NSX:FFFFFF8008B04AA0|B9432662 ldr w2,[x19,#0x324] ; w2,[host,#804]
NSX:FFFFFF8008B04AA4|910C4C00 add x0,x0,#0x313 ; x0,x0,#787
NSX:FFFFFF8008B04AA8|394CA264 ldrb w4,[x19,#0x328] ; w4,[host,#808]
NSX:FFFFFF8008B04AAC|F9400108 ldr x8,[x8] ---->> point of crash //x8=0x0

Change-Id: I9f8edc96c2da93caf423a78610dead0d30921542
Signed-off-by: a17671 <a17671@motorola.com>
Reviewed-on: https://gerrit.mot.com/1635488
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com>
Submit-Approved: Jira Key
2022-03-23 14:49:30 +08:00
android
arch Change ION fill mark from 100M to 16M to reduce the Lost RAM 2022-03-23 14:49:29 +08:00
block block: pm: Fix possible unbalanced nr_pending 2021-09-15 09:44:27 +08:00
certs
crypto
Documentation
drivers mmc:host:sdhci:Fix host->claimer NULL pointer problem 2022-03-23 14:49:30 +08:00
firmware
fs sdcardfs: don't depend on reserved_mb to check free space 2022-03-23 14:49:27 +08:00
include usb audio: Let the usb sound card index from 1 2022-03-23 14:49:29 +08:00
init
ipc
kernel printk: Keep boot console on if enabled 2022-03-23 14:49:26 +08:00
lib
LICENSES
mm disable watermark boost 2022-03-23 14:49:29 +08:00
net af_unix: fix garbage collect vs MSG_PEEK 2021-12-14 10:35:34 +05:30
samples
scripts kernel/config: Add Moto ext_config feature 2022-03-23 14:49:23 +08:00
security
sound usb audio: Let the usb sound card index from 1 2022-03-23 14:49:29 +08:00
techpack
tools
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore gitignore: ignore dts link 2022-03-23 14:49:27 +08:00
.mailmap
Android.bp
AndroidKernel.mk defconfig.mk: Don't force make defconfig 2022-03-23 14:49:27 +08:00
build.config.aarch64
build.config.allmodconfig
build.config.allmodconfig.aarch64
build.config.allmodconfig.arm
build.config.allmodconfig.x86_64
build.config.arm
build.config.common
build.config.gki
build.config.gki-debug.aarch64
build.config.gki-debug.x86_64
build.config.gki.aarch64
build.config.gki.x86_64
build.config.gki_kasan
build.config.gki_kasan.aarch64
build.config.gki_kasan.x86_64
build.config.goldfish.arm
build.config.goldfish.arm64
build.config.goldfish.mips
build.config.goldfish.mips64
build.config.goldfish.x86
build.config.goldfish.x86_64
build.config.x86_64
COPYING
CREDITS
defconfig.mk defconfig.mk: add arch specific debug 2022-03-23 14:49:28 +08:00
gen_headers_arm.bp uapi: Add UAPI headers for slatecom_interface driver 2021-09-08 04:43:44 -07:00
gen_headers_arm64.bp uapi: Add UAPI headers for slatecom_interface driver 2021-09-08 04:43:44 -07:00
Kbuild
Kconfig
kernel_headers.py
MAINTAINERS UPSTREAM: HID: playstation: Initial DualSense USB support 2021-08-06 12:46:40 +05:30
Makefile Revert "kbuild: force to build vmlinux if CONFIG_MODVERSION=y" 2021-07-23 18:30:57 +05:30
README
verity_dev_keys.x509

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.