SD error -110

导致这个问题的原因是SD卡读rootfs 的时候出现问题,加延时或者多读几次就好了,emmc 也存在同样的问题。


[    0.000000] On node 0 totalpages: 244992

[    0.000000] free_area_init_node: node 0, pgdat c0690700, node_mem_map ef6b0000

[    0.000000]   Normal zone: 1728 pages used for memmap

[    0.000000]   Normal zone: 0 pages reserved

[    0.000000]   Normal zone: 180224 pages, LIFO batch:31

[    0.000000]   HighMem zone: 64768 pages, LIFO batch:15

[    0.000000] DRA722 ES1.0

[    0.000000] PERCPU: Embedded 11 pages/cpu @ef64e000 s14848 r8192 d22016 u45056

[    0.000000] pcpu-alloc: s14848 r8192 d22016 u45056 alloc=11*4096

[    0.000000] pcpu-alloc: [0] 0 

[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 243264

[    0.000000] Kernel command line: console=ttyO0,115200n8 elevator=noop root=/dev/mmcblk0p2 rw rootwait earlyprintk fixrtc omapdrm.num_crtc=2 consoleblank=0 cma=64M rootfstype=ext4 snd.slots_reserved=1,1 loglevel=8 clk_ignore_unused init=/home/root/init-demo.sh

[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)

[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)

[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)

[    0.000000] Memory: 471232K/979968K available (5175K kernel code, 232K rwdata, 984K rodata, 304K init, 256K bss, 295744K reserved, 212992K cma-reserved, 193536K highmem)

[    0.000000] Virtual kernel memory layout:

[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)

[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)

[    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)

[    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)

[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)

[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)

[    0.000000]       .text : 0xc0008000 - 0xc060bf5c   (6160 kB)

[    0.000000]       .init : 0xc060c000 - 0xc0658000   ( 304 kB)

[    0.000000]       .data : 0xc0658000 - 0xc0692078   ( 233 kB)

[    0.000000]        .bss : 0xc0694000 - 0xc06d43f4   ( 257 kB)

[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

[    0.000000] Preemptible hierarchical RCU implementation.

[    0.000000] x09Build-time adjustment of leaf fanout to 32.

[    0.000000] x09RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.

[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=1

[    0.000000] NR_IRQS:16 nr_irqs:16 16

[    0.000000] ti_dt_clocks_register: failed to lookup clock node gmac_gmii_ref_clk_div

[    0.000000] OMAP clockevent source: timer1 at 32786 Hz

[    0.000000] Architected cp15 timer(s) running at 6.14MHz (phys).

[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns

[    0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns

[    0.008313] Switching to timer-based delay loop, resolution 162ns

[    0.014963] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns

[    0.025228] OMAP clocksource: 32k_counter at 32768 Hz

[    0.030952] Console: colour dummy device 80x30

[    0.035610] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'

[    0.042407] This ensures that you still see kernel messages. Please

[    0.048928] update your kernel commandline.

[    0.053321] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)

[    0.063964] pid_max: default: 32768 minimum: 301

[    0.068876] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)

[    0.075766] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)

[    0.083630] Initializing cgroup subsys io

[    0.087863] Initializing cgroup subsys memory

[    0.092433] Initializing cgroup subsys devices

[    0.097085] Initializing cgroup subsys freezer

[    0.101748] Initializing cgroup subsys perf_event

[    0.106665] Initializing cgroup subsys pids

[    0.111066] CPU: Testing write buffer coherency: ok

[    0.116368] /cpus/cpu@0 missing clock-frequency property

[    0.121914] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000

[    0.127836] Setting up static identity map for 0x80008340 - 0x800083a0

[    0.178055] Brought up 1 CPUs

[    0.181188] SMP: Total of 1 processors activated (12.29 BogoMIPS).

[    0.187619] CPU: All CPU(s) started in HYP mode.

[    0.192456] CPU: Virtualization extensions available.

[    0.198698] devtmpfs: initialized

[    0.232672] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0

[    0.241428] omap_hwmod: l3_main_2 using broken dt data from ocp

[    0.259544] omap_hwmod: dcan1: _wait_target_disable failed

[    0.338847] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns

[    0.349056] futex hash table entries: 256 (order: 2, 16384 bytes)

[    0.363346] pinctrl core: initialized pinctrl subsystem

[    0.369618] NET: Registered protocol family 16

[    0.375215] DMA: preallocated 256 KiB pool for atomic coherent allocations

[    0.412431] cpuidle: using governor ladder

[    0.442453] cpuidle: using governor menu

[    0.453616] platform 43300000.edma: Cannot lookup hwmod 'tpcc'

[    0.459971] platform 43400000.tptc: Cannot lookup hwmod 'tptc0'

[    0.466427] platform 43500000.tptc: Cannot lookup hwmod 'tptc1'

[    0.473707] OMAP GPIO hardware version 0.1

[    0.484528] irq: no irq domain found for /ocp/l4@4a000000/scm@2000/pinmux@1400 !

[    0.507831] platform 58000000.dss: Cannot lookup hwmod 'dss_core'

[    0.518786] platform 58001000.dispc: Cannot lookup hwmod 'dss_dispc'

[    0.525666] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.

[    0.533969] hw-breakpoint: maximum watchpoint size is 8 bytes.

[    0.540531] omap4_sram_init:Unable to allocate sram needed to handle errata I688

[    0.548209] omap4_sram_init:Unable to get sram pool needed to handle errata I688

[    0.556060] OMAP DMA hardware revision 0.0

[    0.636564] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)

[    0.646830] edma3-tptc 43400000.tptc: _od_fail_runtime_resume: FIXME: missing hwmod/omap_dev info

[    0.656076] edma3-tptc 43500000.tptc: _od_fail_runtime_resume: FIXME: missing hwmod/omap_dev info

[    0.665504] edma 43300000.edma: _od_fail_runtime_resume: FIXME: missing hwmod/omap_dev info

[    0.674172] edma 43300000.edma: pm_runtime_get_sync() failed

[    0.683820] omap-iommu 40d01000.mmu: 40d01000.mmu registered

[    0.689867] omap-iommu 40d02000.mmu: 40d02000.mmu registered

[    0.695926] omap-iommu 58882000.mmu: 58882000.mmu registered

[    0.701946] omap-iommu 55082000.mmu: 55082000.mmu registered

[    0.710547] palmas 0-0058: Irq flag is 0x00000000

[    0.729472] palmas 0-0058: Muxing GPIO 51, PWM 0, LED 2

[    0.788842] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz

[    0.794832] media: Linux media interface: v0.10

[    0.799624] Linux video capture interface: v2.00

[    0.804485] EDAC MC: Ver: 3.0.0

[    0.810150] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400

[    0.816673] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400

[    0.823951] clocksource: Switched to clocksource arch_sys_counter

[    0.840016] NET: Registered protocol family 2

[    0.845105] TCP established hash table entries: 8192 (order: 3, 32768 bytes)

[    0.852485] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)

[    0.859322] TCP: Hash tables configured (established 8192 bind 8192)

[    0.865990] UDP hash table entries: 512 (order: 2, 16384 bytes)

[    0.872180] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)

[    0.878932] NET: Registered protocol family 1

[    0.884513] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available

[    0.911522] squashfs: version 4.0 (2009/01/31) Phillip Lougher

[    0.917643] ntfs: driver 2.1.32 [Flags: R/O].

[    0.923455] bounce: pool size: 64 pages

[    0.927685] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)

[    0.935411] io scheduler noop registered (default)

[    0.940415] io scheduler deadline registered

[    0.944971] io scheduler cfq registered

[    0.952806] pinctrl-single 4a003400.pinmux: 282 pins at pa fc003400 size 1128

[    0.960370] pinctrl-single 4a002e8c.pinmux: 1 pins at pa fc002e8c size 4

[    1.024075] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled

[    1.033528] omap8250 4806a000.serial: Can't verify DMA configuration (-19)

[    1.041194] 4806a000.serial: ttyS0 at MMIO 0x4806a000 (irq = 301, base_baud = 3000000) is a 8250

[    1.050421] console [ttyS0] enabled
[    1.050421] console [ttyS0] enabled

[    1.057624] bootconsole [earlycon0] disabled
[    1.057624] bootconsole [earlycon0] disabled

[    1.066860] omap8250 48020000.serial: Can't verify DMA configuration (-19)
[    1.074246] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 302, base_baud = 3000000) is a 8250
[    1.084193] [drm] Initialized drm 1.1.0 20060810
[    1.089806] vsys_3v3: supplied by evm_12v0
[    1.093933] ldo5: supplied by vsys_3v3
[    1.098180] omapdss_dss 58000000.dss: _od_fail_runtime_resume: FIXME: missing hwmod/omap_dev info
[    1.107141] ------------[ cut here ]------------
[    1.111778] WARNING: CPU: 0 PID: 1 at drivers/gpu/drm/omapdrm/dss/dss.c:868 0xc02faa7c()
[    1.119915] Modules linked in:
[    1.122990] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.4.84+ #12
[    1.129107] Hardware name: Generic DRA72X (Flattened Device Tree)
[    1.135222] Backtrace: 
[    1.137684] Function entered at [<c0013a7c>] from [<c0013c68>]
[    1.143539]  r7:c02faa7c r6:60000013 r5:00000000 r4:c06741d0
[    1.149252] Function entered at [<c0013c50>] from [<c0235ec8>]
[    1.155107] Function entered at [<c0235e3c>] from [<c00377b4>]
[    1.160962]  r7:c02faa7c r6:00000364 r5:00000009 r4:00000000
[    1.166673] Function entered at [<c003772c>] from [<c0037888>]
[    1.172527]  r8:ef6a4594 r7:ef21fe00 r6:ef21fe10 r5:00000000 r4:ffffffed
[    1.179293] Function entered at [<c0037864>] from [<c02faa7c>]
[    1.185146] Function entered at [<c02faa38>] from [<c02fae64>]
[    1.191000]  r5:00000000 r4:c06c8978
[    1.194602] Function entered at [<c02faad8>] from [<c03294a8>]
[    1.200456]  r9:c060c578 r8:ee90d180 r7:ee90d0d0 r6:ee90d100 r5:00000001 r4:ee90d0d8
[    1.208269] Function entered at [<c03293d4>] from [<c03296c0>]
[    1.214121]  r9:c060c578 r8:00000000 r7:ee90d180 r6:c067f9e8 r5:00000000 r4:ee90d100
[    1.221933] Function entered at [<c0329628>] from [<c02fec44>]
[    1.227786]  r7:fffffdfb r6:c067e560 r5:ef230210 r4:c06cb834
[    1.233495] Function entered at [<c02fec2c>] from [<c032fd0c>]
[    1.239350] Function entered at [<c032fcb8>] from [<c032e294>]
[    1.245203]  r7:c067e560 r6:00000000 r5:ef230210 r4:c06cb834
[    1.250912] Function entered at [<c032e090>] from [<c032e41c>]
[    1.256766]  r9:c060c578 r8:00000065 r7:00000000 r6:ef230244 r5:c067e560 r4:ef230210
[    1.264576] Function entered at [<c032e388>] from [<c032c51c>]
[    1.270429]  r7:00000000 r6:c032e388 r5:c067e560 r4:00000000
[    1.276137] Function entered at [<c032c4ac>] from [<c032db80>]
[    1.281990]  r6:c067fcf8 r5:ee900f00 r4:c067e560
[    1.286646] Function entered at [<c032db5c>] from [<c032d7bc>]
[    1.292500] Function entered at [<c032d614>] from [<c032ebbc>]
[    1.298353]  r7:c0646834 r6:c064ac90 r5:00000000 r4:c067e560
[    1.304061] Function entered at [<c032eb3c>] from [<c032fc34>]
[    1.309914]  r5:00000000 r4:c067fcf8
[    1.313515] Function entered at [<c032fbec>] from [<c062ef00>]
[    1.319368]  r5:00000000 r4:00000001
[    1.322969] Function entered at [<c062eee4>] from [<c062ee70>]
[    1.328822] Function entered at [<c062ee2c>] from [<c0009900>]
[    1.334676]  r7:c0646834 r6:c0651f50 r5:c0609fe0 r4:c062ee2c
[    1.340385] Function entered at [<c00097f4>] from [<c060cf18>]
[    1.346239]  r10:00000007 r9:c060c578 r8:00000065 r7:c0646834 r6:c0651f50 r5:c0609fe0
[    1.354135]  r4:c0694000
[    1.356681] Function entered at [<c060cd44>] from [<c050f840>]
[    1.362534]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c050f828
[    1.370432]  r4:c0694000
[    1.372979] Function entered at [<c050f828>] from [<c000fc98>]
[    1.378832]  r5:c050f828 r4:00000000
[    1.382462] ---[ end trace c38fdc312be35fe5 ]---
[    1.387148] omapdss_dss 58000000.dss: master bind failed: -19
[    1.395422] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.402066] [drm] No driver support for vblank timestamp query.
[    1.408235] [drm] Initialized vdrm 1.0.0 20110917 on minor 0
[    1.414325] vmemexp device MAJOR num = 247
[    1.418450] vmemexp class registered
[    1.422150] /dev/vmemexp device registered
[    1.426305] ioctl DBUFIOC_EXPORT_VIRTMEM = -1072899120
[    1.432818] i2c /dev entries driver
[    1.440856] omap_hsmmc 4809c000.mmc: Got CD GPIO
[    1.446000] evm_3v3: supplied by vsys_3v3
[    1.450095] evm_3v3_sd: supplied by evm_3v3
[    1.454402] ldo1: supplied by vsys_3v3
[    1.504392] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode
[    1.510777] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode
[    1.523956] omap_hsmmc 480b4000.mmc: no pinctrl state for hs200_1_8v mode
[    1.564576] ledtrig-cpu: registered to indicate activity on CPUs
[    1.571578] omap-rproc 55020000.ipu: assigned reserved memory node ipu2_cma@95800000
[    1.594001]  remoteproc0: 55020000.ipu is available
[    1.598899]  remoteproc0: Note: remoteproc is still under development and considered experimental.
[    1.623950]  remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[    1.644041]  remoteproc0: Direct firmware load for dra7-ipu2-fw.xem4 failed with error -2
[    1.652253]  remoteproc0: Falling back to user helper
[    1.657525] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
[    1.674016]  remoteproc1: 40800000.dsp is available
[    1.678914]  remoteproc1: Note: remoteproc is still under development and considered experimental.
[    1.703958]  remoteproc1: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
[    1.724019]  remoteproc1: Direct firmware load for dra7-dsp1-fw.xe66 failed with error -2
[    1.732230]  remoteproc1: Falling back to user helper
[    1.738443] NET: Registered protocol family 10
[    1.764247] sit: IPv6 over IPv4 tunneling driver
[    1.769433] NET: Registered protocol family 17
[    1.773905] NET: Registered protocol family 41
[    1.794135] omap_voltage_late_init: Voltage driver support not added
[    1.801147] Power Management for TI OMAP4+ devices.
[    1.824127] Registering SWP/SWPB emulation handler
[    1.829797] dmm 4e000000.dmm: workaround for errata i878 in use
[    1.841937] dmm 4e000000.dmm: initialized all PAT entries
[    1.868496] hctosys: unable to open rtc device (rtc0)
[    1.874021] aic_dvdd: disabling
[    1.877179] vmmcwl_fixed: disabling
[    1.880850] ldo4: disabling
[    1.883924] clk: Not disabling unused clocks
[    1.888901] omap8250 4806a000.serial: failed to request DMA
[    1.894668] Waiting for root device /dev/mmcblk0p2...
[    1.927153] mmc0: error -110 whilst initialising SD card
[    2.017297] mmc1: MAN_BKOPS_EN bit is not set
[    2.025123] mmc1: new DDR MMC card at address 0001
[    2.040407] mmcblk0: mmc1:0001 DG4016 14.7 GiB 
[    2.055231] mmcblk0boot0: mmc1:0001 DG4016 partition 1 4.00 MiB
[    2.071424] mmcblk0boot1: mmc1:0001 DG4016 partition 2 4.00 MiB
[    2.114075] VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error -6
[    2.122028] Please append a correct "root=" boot option; here are the available partitions:
[    2.130687] b300        15388672 mmcblk0  driver: mmcblk
[    2.136072] b320            4096 mmcblk0boot1  (driver?)
[    2.141416] b310            4096 mmcblk0boot0  (driver?)
[    2.153959] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
[    2.162440] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)

Resolved!

Subject: [PATCH] solved SD error  -110 and Unable to mount root fs on
 unknown-block(179,2)

---
 drivers/mmc/core/mmc.c |  8 +++++++-
 init/do_mounts.c       | 17 +++++++++++++++--
 init/main.c            |  2 +-
 3 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index 79a0c26..78226e9 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -2048,10 +2048,16 @@ int mmc_attach_mmc(struct mmc_host *host)
 	/*
 	 * Detect and init the card.
 	 */
+	pr_err("before mmc_init_card
");
+	int i_temp;
+	for( i_temp = 0; i_temp< 5; i_temp++){
 	err = mmc_init_card(host, rocr, NULL);
+		pr_err("%s: error %d whilst initialising MMC card
",
+		mmc_hostname(host), err);
+	}
 	if (err)
 		goto err;
-
+	pr_err("after mmc_init_card
");
 	mmc_release_host(host);
 	err = mmc_add_card(host->card);
 	if (err)
diff --git a/init/do_mounts.c b/init/do_mounts.c
index eb171b5..e2e54e8 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -389,11 +389,22 @@ void __init mount_block_root(char *name, int flags)
 #else
 	const char *b = name;
 #endif
-
+	int i_temp;
+	printk("-----root wait --fredy added 
");
+	
 	get_fs_names(fs_names);
+
 retry:
 	for (p = fs_names; *p; p += strlen(p)+1) {
-		int err = do_mount_root(name, p, flags, root_mount_data);
+		for( i_temp =0;i_temp< 10000; i_temp++ ){
+			; ; ;
+		}
+		int err;
+		for( i_temp =0;i_temp< 30; i_temp++ ){
+			err = do_mount_root(name, p, flags, root_mount_data);
+			printk(" error %d
", err);
+
+		
 		switch (err) {
 			case 0:
 				goto out;
@@ -401,6 +412,8 @@ retry:
 			case -EINVAL:
 				continue;
 		}
+		}
+
 	        /*
 		 * Allow the user to distinguish between failed sys_open
 		 * and bad superblock on root device.
diff --git a/init/main.c b/init/main.c
index f21d610..57c219d 100644
--- a/init/main.c
+++ b/init/main.c
@@ -504,7 +504,7 @@ static void __init mm_init(void)
 	mm_init_dur = read_fast_counter() - mm_init_dur;
 }
 
-volatile int done=1;
+volatile int done=0;
 
 asmlinkage __visible void __init start_kernel(void)
 {
-- 
2.7.4


原文地址:https://www.cnblogs.com/widic/p/9323023.html