Boot up error in updater.sb

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Boot up error in updater.sb

932 Views
PeterChan
NXP Employee
NXP Employee

Hello All,

 

Sometimes a customized i.MX233 updater.sb from Linux BSP L2.6.31_10.05.02_ER may run into below error:

 

Unable to handle kernel NULL pointer dereference at virtual address 0000001d
pgd = c0004000
[0000001d] *pgd=00000000
Internal error: Oops: 1 [#1] PREEMPT
last sysfs file:
CPU: 0    Not tainted  (2.6.35.3-571-gcca29a0-g6f363e1 #2)
PC is at regulator_is_enabled+0x10/0x54
LR is at state_machine_work+0xa4/0x230
pc : [<c01ab1b4>]    lr : [<c0203828>]    psr: a0000013
sp : c3c2df40  ip : c3c2df58  fp : c3c2df54
r10: 00000000  r9 : c33ee108  r8 : c3c2df84
r7 : c3c00568  r6 : c33ee104  r5 : c33ee000  r4 : ffffffed
r3 : 00000000  r2 : 00000000  r1 : ffff8c2e  r0 : ffffffed
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 0005317f  Table: 40004000  DAC: 00000017
Process events/0 (pid: 4, stack limit = 0xc3c2c270)
Stack: (0xc3c2df40 to 0xc3c2e000)
df40: c33ee0dc c33ee000 c3c2df74 c3c2df58 c0203828 c01ab1b4 c3c2c000 c3c00560
df60: c0203784 c3c00568 c3c2dfc4 c3c2df78 c004fd9c c0203794 c3c2c000 c029a978
df80: 00000000 00000000 c3c208a0 c0053b54 c3c2df90 c3c2df90 00000000 c3c23f28
dfa0: c3c2dfcc c004fc00 c3c00560 00000000 00000000 00000000 c3c2dff4 c3c2dfc8
dfc0: c00537c8 c004fc10 00000000 00000000 c3c2dfd0 c3c2dfd0 c3c23f28 c0053744
dfe0: c003f984 00000013 00000000 c3c2dff8 c003f984 c0053754 bdf7bfff bfffdf7f
Backtrace:
[<c01ab1a4>] (regulator_is_enabled+0x0/0x54) from [<c0203828>] (state_machine_work+0xa4/0x230)
 r5:c33ee000 r4:c33ee0dc
[<c0203784>] (state_machine_work+0x0/0x230) from [<c004fd9c>] (worker_thread+0x19c/0x25c)
 r7:c3c00568 r6:c0203784 r5:c3c00560 r4:c3c2c000
[<c004fc00>] (worker_thread+0x0/0x25c) from [<c00537c8>] (kthread+0x84/0x8c)
[<c0053744>] (kthread+0x0/0x8c) from [<c003f984>] (do_exit+0x0/0x694)
 r7:00000013 r6:c003f984 r5:c0053744 r4:c3c23f28
Code: e1a0c00d e92dd830 e24cb004 e1a04000 (e5900030)
---[ end trace 7588d1786d25b7c6 ]---

 

This is caused by a software bug in the mxs power driver. Please apply the attached patch mx23_updater_crash.patch to resolve this problem.

 

Cheers,

Peter

Labels (1)
0 Kudos
3 Replies

500 Views
GopiNagaBharath
Contributor IV

Hi Peter Chan,

Could you please let me know, how you have created the customized i.MX233 updater.sb from Linux BSP L2.6.31??

I am unable to get any documentation on this.

Also, does the updater.sb which comes with MfgTool by default works for any NAND flash listed under nand_device_info.c file in the Linux Drivers??

Regards,

Gopi

0 Kudos

500 Views
kean
Contributor I

Peter,

I believe I am hitting this bug.  I get an Oops very similar to the above during boot, but only if I have a LiIon battery connected.

The linked to the patch is no longer working.  Can you make it available somewhere ?  Or do you know if the patch has been applied in any repositories ?

Cheers,

Kean

0 Kudos

500 Views
PeterChan
NXP Employee
NXP Employee

Hello Kean,

I am sorry I made a big mistake in this post here.

From the log, you may see that the kernel version in this error is 2.6.35. For i.MX233, however, kernel 2.6.31 should always be used.

The error happens because a false configuration is used. If the mfg build is configured properly, we shouldn't see such error.

For your interest, below is change in mx23_updater_crash.patch.

diff --git a/drivers/power/mxs/linux.c b/drivers/power/mxs/linux.c

index 3388307..efdd45d 100644

--- a/drivers/power/mxs/linux.c

+++ b/drivers/power/mxs/linux.c

@@ -970,7 +970,7 @@ static int mxs_bat_probe(struct platform_device *pdev)

  info->onboard_vbus5v = regulator_get(NULL, "vbus5v");

- if (IS_ERR(info->regulator)) {

+ if (IS_ERR(info->onboard_vbus5v)) {

   pr_debug("No onboard vbus 5v reg provided\n");

   info->onboard_vbus5v = NULL;

Thanks,
Peter

0 Kudos