Kernel segmentation fault unbinding eMMC on AML-S905X-CC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello everyone,

I am the owner of an AML-S905X-CC ARM board, also called "Le Potato"
with a full GNU/Linux system running on an SD card using kernel 4.20.
I also bought an eMMC 5.x module on loverpi:
https://www.loverpi.com/collections/libre-computer-project/products/libre-computer-board-emmc-5-x-module?variant=4173557729

I tried to use the eMMC module in order to put the system on it. Once
the system is booted from SD card, i plugged the eMMC module and tried
to detect it using the same command used by lc_redetect_emmc script
provided by libre computer:
> $ echo -n d0074000.mmc > /sys/bus/platform/drivers/meson-gx-mmc/unbind
> $ echo -n d0074000.mmc > /sys/bus/platform/drivers/meson-gx-mmc/bind

On the first command (the unbind) i get a kernel segfault:
------------------------------ 8< ---------------------------
[  443.872211] Unable to handle kernel paging request at virtual
address fffe0000138a03c8
[  443.874469] Mem abort info:
[  443.877228]   ESR = 0x96000044
[  443.880246]   Exception class = DABT (current EL), IL = 32 bits
[  443.886109]   SET = 0, FnV = 0
[  443.889128]   EA = 0, S1PTW = 0
[  443.892232] Data abort info:
[  443.895079]   ISV = 0, ISS = 0x00000044
[  443.898874]   CM = 0, WnR = 1
[  443.901807] [fffe0000138a03c8] address between user and kernel address ranges
[  443.908882] Internal error: Oops: 96000044 [#1] SMP
[  443.913711] Modules linked in: cfg80211 rfkill 8021q garp mrp stp
llc dw_hdmi_cec meson_dw_hdmi dw_hdmi meson_drm drm_kms_helper
dwmac_generic drm dwmac_meson8b stmmac_platform
drm_panel_orientation_quirks crc32_ce stmmac syscopyarea crct10dif_ce
sysfi
llrect sysimgblt ptp fb_sys_fops pps_core meson_ir rc_core meson_gxbb_wdt
[  443.942176] CPU: 0 PID: 467 Comm: bash Tainted: G        W
4.19.13_1 #1
[  443.949416] Hardware name: amlogic p212/p212, BIOS
2019.01-rc2-00176-gf97c49d6a2 01/02/2019
[  443.957699] pstate: 00400085 (nzcv daIf +PAN -UAO)
[  443.962450] pc : queued_spin_lock_slowpath+0x228/0x2d0
[  443.967533] lr : meson_mmc_irq+0x290/0x2a0
[  443.971583] sp : ffff00000fb0fa00
[  443.974860] x29: ffff00000fb0fa00 x28: ffff8000105ef118
[  443.980121] x27: ffff8000105ef118 x26: 0000000000000000
[  443.985382] x25: 0000000000000000 x24: ffff800010633728
[  443.990643] x23: 0000000000000013 x22: ffff800010633858
[  443.995905] x21: ffff800005fab800 x20: 000000006b6b6b6b
[  444.001166] x19: ffff800005fab820 x18: 0000000000000000
[  444.006427] x17: 0000000000000000 x16: 0000000000000000
[  444.011688] x15: ffffffffffffffff x14: 6d6d2e3030303437
[  444.016950] x13: ff00000000000000 x12: 0000000000000040
[  444.022211] x11: 0000000000000228 x10: 0000000000000020
[  444.027472] x9 : 0000000000000000 x8 : 0000000000040000
[  444.032734] x7 : ffff000009f24460 x6 : ffff80007fc7de80
[  444.037995] x5 : ffff000009f42518 x4 : ffff80007fc7de80
[  444.043256] x3 : ffff000009f236c8 x2 : ffff00000995de80
[  444.048517] x1 : ffff00000995deb0 x0 : ffff80007fc7de88
[  444.053781] Process bash (pid: 467, stack limit = 0x0000000086539f6f)
[  444.060161] Call trace:
[  444.062580]  queued_spin_lock_slowpath+0x228/0x2d0
[  444.067322]  meson_mmc_irq+0x290/0x2a0
[  444.071032]  __free_irq+0x184/0x318
[  444.074480]  free_irq+0x40/0x80
[  444.077586]  devm_irq_release+0x24/0x30
[  444.081382]  release_nodes+0x1e0/0x2e0
[  444.085089]  devres_release_all+0x60/0x88
[  444.089057]  device_release_driver_internal+0x1c8/0x248
[  444.094231]  device_release_driver+0x28/0x38
[  444.098459]  unbind_store+0xdc/0x148
[  444.101994]  drv_attr_store+0x40/0x58
[  444.105627]  sysfs_kf_write+0x5c/0x78
[  444.109240]  kernfs_fop_write+0xe8/0x1e0
[  444.113126]  __vfs_write+0x60/0x190
[  444.116570]  vfs_write+0xac/0x1b0
[  444.119848]  ksys_write+0x6c/0xd0
[  444.123125]  __arm64_sys_write+0x24/0x30
[  444.127015]  el0_svc_common+0x94/0xe8
[  444.130629]  el0_svc_handler+0x38/0x80
[  444.134340]  el0_svc+0x8/0xc
[  444.137187] Code: d37c0401 910020c0 8b010041 f865d8e5 (f8256826)
[  444.143223] ---[ end trace 62541ec2ffe020f2 ]---
Segmentation fault
------------------------------ 8< ---------------------------

I also tried this patch https://patchwork.kernel.org/cover/10739097/
as advised by narmstrong without any luck.
I also tried only removing the "non-removable" property also without luck.

With or without those patches, when i plug the eMMC nothing happened,
nothing in dmesg or any mmc device appearing in /dev

It must also be noted that the eMMC is shipped with a system that work
properly so some working code must exist somewhere :)

Regards,

Elie



[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux