[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