[Gta04-owner] hmc5883 crash in 3.3
Belisko Marek
marek.belisko at gmail.com
Wed Apr 11 20:57:50 CEST 2012
Hi,
I finally setup my gta04 and using Neil's 3.3gta04 kernel.
Just want to add hmc5883 support (can be used existing 5843 staging iio driver)
with following patch (+ enable hmc5843):
diff --git a/arch/arm/mach-omap2/board-omap3gta04.c
b/arch/arm/mach-omap2/board-omap3gta04.c
index c7e899c..67b46a0 100644
--- a/arch/arm/mach-omap2/board-omap3gta04.c
+++ b/arch/arm/mach-omap2/board-omap3gta04.c
@@ -1003,6 +1003,12 @@ static struct i2c_board_info __initdata
gta04_i2c2_boardinfo[] = {
.type = "bma150",
},
#endif
+#ifdef CONFIG_SENSORS_HMC5843
+{
+ I2C_BOARD_INFO("hmc5843", 0x1E),
+ .type = "hmc5843",
+}
+#endif
/* FIXME: add other drivers for HMC5883, BMA180, Si472x, Camera */
};
With change kernel gives oops during start:
[ 14.508178] bus: 'i2c': add driver hmc5843
[ 14.512634] bus: 'i2c': driver_probe_device: matched device 2-001e
with driver hmc5843
[ 14.521057] bus: 'i2c': really_probe: probing driver hmc5843 with
device 2-001e
[ 14.532257] HMC5843 initialized
[ 14.535919] device: '(null)': device_add (null)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This line is from added pr_info in:
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 74dda4f..74cecc0 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -973,6 +973,7 @@ int device_add(struct device *dev)
dev->init_name = NULL;
}
+ pr_info("device: '%s': %s %s\n", dev_name(dev), __func__,
dev->bus ? dev->bus->dev_name :"None" );
[ 14.540924] ------------[ cut here ]------------
[ 14.545776] kernel BUG at mm/slab.c:505!
[ 14.549896] Internal error: Oops - BUG: 0 [#1] PREEMPT
[ 14.555267] Modules linked in:
[ 14.558502] CPU: 0 Not tainted (3.3.1-gta04+ #9)
[ 14.563720] PC is at kfree+0x84/0x144
[ 14.567565] LR is at kfree+0x20/0x144
[ 14.571411] pc : [<c00b408c>] lr : [<c00b4028>] psr: 40000093
[ 14.571441] sp : de703da0 ip : c13431c0 fp : 00000090
[ 14.583435] r10: 0000000a r9 : de7cfeac r8 : c023629c
[ 14.588928] r7 : c09a0b50 r6 : a0000013 r5 : de7cfc00 r4 : de7cfc10
[ 14.595764] r3 : c0ec9a80 r2 : 00000400 r1 : c0eb4000 r0 : c00b4028
[ 14.602600] Flags: nZcv IRQs off FIQs on Mode SVC_32 ISA ARM
Segment kernel
[ 14.610351] Control: 10c5387d Table: 80004019 DAC: 00000015
[ 14.616363] Process swapper (pid: 50, stack limit = 0xde7022f0)
[ 14.622558] Stack: (0xde703da0 to 0xde704000)
[ 14.627136] 3da0: de7cfc10 de7cfc00 de7cfc10 ffffffea 00000005
c023629c de7c0200 c00b4798
[ 14.635742] 3dc0: dec00080 de7c0200 c030f87c dec00080 000080d0
00000001 de7cfc00 de7cfc10
[ 14.644317] 3de0: c046a9d8 00000005 de7cfeac 0000000a 00000090
c030ff40 00000001 00000000
[ 14.652893] 3e00: 00000001 de7cfc10 de7cfeac 00000029 c0729558
00000001 00000003 00000001
[ 14.661468] 3e20: de7cfc10 c046a9f4 00000000 60000013 000000d0
205b3ea0 34312020 3233352e
[ 14.670043] 3e40: 5d373532 de6e0020 de6ee600 00000001 00000000
de6ee600 00000001 c0065a84
[ 14.678619] 3e60: de7cfc00 de7cfc48 00000006 0046aa8c de7cfc38
de7cfc00 de7cfc00 dee63c00
[ 14.687194] 3e80: dee63c20 00000001 00000000 c046aa8c 00000000
de7cfc00 de7cfc00 dee63c00
[ 14.695770] 3ea0: dee63c20 00000001 00000000 c046aa8c 00000000
c0310664 00000000 dee63c20
[ 14.704345] 3ec0: c046aa8c dee63c00 c0310578 dee63c04 00000000
00000000 00000000 c02cd008
[ 14.712921] 3ee0: dee63c20 c0760620 c0760620 00000000 00000007
c02381d8 dee5c5c0 dee63c20
[ 14.721496] 3f00: dee63c20 dee63c54 c0760620 c023833c c0760620
de703f20 c02382d8 c0236c64
[ 14.730072] 3f20: decdbea8 dee54290 c0760620 c0760620 de7cb2c0
c075b7bc 00000000 c0237a34
[ 14.738647] 3f40: c065a385 00000000 c0760620 c06f8f74 00000000
c070e74c 00000007 00000000
[ 14.747222] 3f60: 00000000 c0238804 c075b7bc c07605f8 c06f8f74
00000000 c070e74c 00000007
[ 14.755798] 3f80: 00000000 c02cec20 de702000 c079d8c0 c06f8f74
c0008704 00000001 de702000
[ 14.764373] 3fa0: de703fb4 c005401c 20000013 c079d8c0 c079d924
de703fd8 c070e74c 00000007
[ 14.772949] 3fc0: 00000000 c0008888 00000001 00000000 de6ee600
c004b474 de703fd8 de703fd8
[ 14.781524] 3fe0: 00000007 c00087d8 c000ed08 00000013 00000000
c000ed08 00000000 00000000
[ 14.790130] [<c00b408c>] (kfree+0x84/0x144) from [<c023629c>]
(device_add+0x558/0x5ac)
[ 14.798461] [<c023629c>] (device_add+0x558/0x5ac) from [<c030ff40>]
(iio_device_register+0x8c8/0x
990)
[ 14.808135] [<c030ff40>] (iio_device_register+0x8c8/0x990) from
[<c0310664>] (hmc5843_probe+0xec/
0x114)
[ 14.818023] [<c0310664>] (hmc5843_probe+0xec/0x114) from
[<c02cd008>] (i2c_device_probe+0xc4/0xf8
)
[ 14.827423] [<c02cd008>] (i2c_device_probe+0xc4/0xf8) from
[<c02381d8>] (driver_probe_device+0x11
8/0x218)
[ 14.837463] [<c02381d8>] (driver_probe_device+0x118/0x218) from
[<c023833c>] (__driver_attach+0x6
4/0x88)
[ 14.847381] [<c023833c>] (__driver_attach+0x64/0x88) from
[<c0236c64>] (bus_for_each_dev+0x4c/0x7
8)
[ 14.856872] [<c0236c64>] (bus_for_each_dev+0x4c/0x78) from
[<c0237a34>] (bus_add_driver+0xa8/0x23
8)
[ 14.866363] [<c0237a34>] (bus_add_driver+0xa8/0x238) from
[<c0238804>] (driver_register+0xa0/0x12
c)
[ 14.875885] [<c0238804>] (driver_register+0xa0/0x12c) from
[<c02cec20>] (i2c_register_driver+0x40
/0xd4)
[ 14.885742] [<c02cec20>] (i2c_register_driver+0x40/0xd4) from
[<c0008704>] (do_one_initcall+0x90/
0x164)
[ 14.895568] [<c0008704>] (do_one_initcall+0x90/0x164) from
[<c0008888>] (init_caller+0xb0/0x118)
[ 14.904815] [<c0008888>] (init_caller+0xb0/0x118) from [<c000ed08>]
(kernel_thread_exit+0x0/0x8)
[ 14.914031] Code: 1593301c e5932000 e3120080 1a000000 (e7f001f2)
[ 14.920562] ---[ end trace 7b14ee45c05b473a ]---
Can anybody give some light what I'm missing?
Thanks,
marek
--
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer
Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
twitter: #opennandra
web: http://open-nandra.com
More information about the Gta04-owner
mailing list