Hi,
I'm having some problems registering a network device on Android. The
code works well on linux but on Android I'm getting a kernel panic
when I execute 'result = register_netdev(Adapter->dev);' (code and
error below).
Any guidance on what might be wrong greatly appreciated.
Chris
int register_networkdev(PMINI_ADAPTER Adapter)
{
int result=0;
Adapter->dev = alloc_etherdev(sizeof(PMINI_ADAPTER));
if(!Adapter->dev)
{
BCM_DBG_PRINT(BCM_ERR, "ERR: No Dev");
return -ENOMEM;
}
gblpnetdev =
Adapter->dev;
ether_setup(Adapter->dev);
Adapter->dev->open = bcm_open;
Adapter->dev->mtu =
1400;//MTU_SIZE; /* 1400 Bytes */
Adapter->dev->stop = bcm_close;
Adapter->dev->get_stats = bcm_get_stats;
Adapter->dev->hard_start_xmit = bcm_transmit;
/* Read the MAC Address from EEPROM */
ReadMacAddressFromEEPROM(Adapter);
DBG_PRINT(SCREAM, "1\n");
/* Register the notifier block for getting netdevice events */
DBG_PRINT(SCREAM, "Registering netdevice notifier\n");
result = register_netdevice_notifier(&bcm_notifier_block);
DBG_PRINT(SCREAM, "2\n");
if(result)
{
DBG_PRINT(SCREAM, "Notifier Block did not get registered");
Adapter->bNetdeviceNotifierRegistered = FALSE;
return result;
}
else
{
DBG_PRINT(SCREAM, "Notifier got Registered");
Adapter->bNetdeviceNotifierRegistered = TRUE;
}
result = register_netdev(Adapter->dev);
DBG_PRINT(SCREAM, "3\n")
if (!result)
{
Adapter->bNetworkInterfaceRegistered = TRUE ;
DBG_PRINT(SCREAM, "Network device name is %s!", Adapter->dev-
>name);
}
else
{
DBG_PRINT(SCREAM, "Network device can not be registered!");
Adapter->bNetworkInterfaceRegistered = FALSE ;
return result;
}
DBG_PRINT(SCREAM, "4\n")
return 0;
}
-------------
drivers/net/4g/bcm_wimax_usb/Common/Bcmnet.c:register_networkdev:142:
cxs
1
drivers/net/4g/bcm_wimax_usb/Common/Bcmnet.c:register_networkdev:144:
Registering netdevice
notifier
drivers/net/4g/bcm_wimax_usb/Common/Bcmnet.c:register_networkdev:146:
cxs
2
drivers/net/4g/bcm_wimax_usb/Common/Bcmnet.c:register_networkdev:155:
BCM Notifier got Registered<6>ubee (): not using net_device_ops
yet
Unable to handle kernel NULL pointer dereference at virtual address
00000008
pgd =
c0004000
[00000008]
*pgd=00000000
Internal error: Oops: 817
[#1]
Modules linked
in:
CPU: 0 Not tainted (2.6.29-omap1-00048-ge749c1f-dirty
#12)
PC is at bcm_get_stats
+0x68/0xc8
LR is at bcm_get_stats
+0x54/0xc8
pc : [<c01c4f1c>] lr : [<c01c4f08>] psr:
80000113
sp : cf9a59b8 ip : cf9a59b8 fp :
cf9a59e4
r10: 00000000 r9 : 00000000 r8 :
00000000
r7 : cfd0e494 r6 : cfd0e400 r5 : cfd0eb60 r4 :
00000000
r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 :
00000008
Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment
kernel
Control: 10c5387d Table: 8fd40019 DAC:
00000017
PC:
0xc01c4e9c:
4e9c 0001716c 0001716f c041164a 00017174 c0411fa7 c041166b e1a0c00d
e92dd830
4ebc e24cb004 e24dd018 e59f30a0 e2805e36 e59fe09c e1a0c000 e5954004
e3a0100f
4edc e5932000 e3a00002 e58de000 e3a0e063 e58de004 e59fe07c e59f307c
e58dc00c
4efc e58de008 e58d4010 ebfff3e0 e5951068 e3a03000 e1d526bc e2840008
e0822801
4f1c e5842008 e5952070 e5951078 e0812002 e5842010 e595207c e5842020
e595207c
4f3c e5843038 e5843030 e5842018 e584303c e5953080 e5843014 e5953084
e584300c
4f5c e5953088 e5843024 e24bd014 e89da830 c047c570 c0411688 c04116b5
c03682e4
4f7c e1a0c00d e92dd8f0 e24cb004 e24dd010 e59f30f8 e1a00002 e1a05002
e1a07001
LR:
0xc01c4e88:
4e88 c04115b2 c04115cf c04115f1 c0411620 c0411627 0001716c 0001716f
c041164a
4ea8 00017174 c0411fa7 c041166b e1a0c00d e92dd830 e24cb004 e24dd018
e59f30a0
4ec8 e2805e36 e59fe09c e1a0c000 e5954004 e3a0100f e5932000 e3a00002
e58de000
4ee8 e3a0e063 e58de004 e59fe07c e59f307c e58dc00c e58de008 e58d4010
ebfff3e0
4f08 e5951068 e3a03000 e1d526bc e2840008 e0822801 e5842008 e5952070
e5951078
4f28 e0812002 e5842010 e595207c e5842020 e595207c e5843038 e5843030
e5842018
4f48 e584303c e5953080 e5843014 e5953084 e584300c e5953088 e5843024
e24bd014
4f68 e89da830 c047c570 c0411688 c04116b5 c03682e4 e1a0c00d e92dd8f0
e24cb004
SP:
0xcf9a5938:
5938 00000002 cf9a59a8 00000000 cf9b4740 cf9a598c cf9a5958 ffffffff
cf9a59a4
5958 cfd0e400 cfd0e494 cf9a59e4 cf9a5970 c002c92c c002c1c0 00000008
00000000
5978 00000000 00000000 00000000 cfd0eb60 cfd0e400 cfd0e494 00000000
00000000
5998 00000000 cf9a59e4 cf9a59b8 cf9a59b8 c01c4f08 c01c4f1c 80000113
ffffffff
59b8 c0411688 00000063 c04116b5 cfd0e800 00000000 cfd0e800 cf846740
cfd0e800
59d8 cf9a59f4 cf9a59e8 c02b4b7c c01c4ec0 cf9a5a54 cf9a59f8 c02c08f0
c02b4b68
59f8 a0000113 00000000 00000000 00000000 00000000 00000000 00000000
00000000
5a18 00000000 cfd0e800 cf9a5a54 00000578 c02b0938 00000000 cfd0e800
cf846740
IP:
0xcf9a5938:
5938 00000002 cf9a59a8 00000000 cf9b4740 cf9a598c cf9a5958 ffffffff
cf9a59a4
5958 cfd0e400 cfd0e494 cf9a59e4 cf9a5970 c002c92c c002c1c0 00000008
00000000
5978 00000000 00000000 00000000 cfd0eb60 cfd0e400 cfd0e494 00000000
00000000
5998 00000000 cf9a59e4 cf9a59b8 cf9a59b8 c01c4f08 c01c4f1c 80000113
ffffffff
59b8 c0411688 00000063 c04116b5 cfd0e800 00000000 cfd0e800 cf846740
cfd0e800
59d8 cf9a59f4 cf9a59e8 c02b4b7c c01c4ec0 cf9a5a54 cf9a59f8 c02c08f0
c02b4b68
59f8 a0000113 00000000 00000000 00000000 00000000 00000000 00000000
00000000
5a18 00000000 cfd0e800 cf9a5a54 00000578 c02b0938 00000000 cfd0e800
cf846740
FP:
0xcf9a5964:
5964 cf9a5970 c002c92c c002c1c0 00000008 00000000 00000000 00000000
00000000
5984 cfd0eb60 cfd0e400 cfd0e494 00000000 00000000 00000000 cf9a59e4
cf9a59b8
59a4 cf9a59b8 c01c4f08 c01c4f1c 80000113 ffffffff c0411688 00000063
c04116b5
59c4 cfd0e800 00000000 cfd0e800 cf846740 cfd0e800 cf9a59f4 cf9a59e8
c02b4b7c
59e4 c01c4ec0 cf9a5a54 cf9a59f8 c02c08f0 c02b4b68 a0000113 00000000
00000000
5a04 00000000 00000000 00000000 00000000 00000000 00000000 cfd0e800
cf9a5a54
5a24 00000578 c02b0938 00000000 cfd0e800 cf846740 00000010 ffffffff
000170c4
5a44 cfd0e800 cf9a5a8c cf9a5a58 c02c0e48 c02c060c 00000000 ffffffff
00000000
R5:
0xcfd0eae0:
eae0 cfd0eae8 00000000 c048f0b0 00000000 00000000 00000000 00000000
00010000
eb00 00000000 00000000 c01c5544 c01c5188 c01c49a8 00000000 00000000
00000000
eb20 00000000 c02c457c c02c439c 00000000 00000000 c02c4370 00000000
00000000
eb40 c01c4eb4 00000000 00000000 00000000 00000000 00000000 00000000
00000000
eb60 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
eb80 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
eba0 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
ebc0 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
R6:
0xcfd0e380:
e380 dc0242ab 42a2d104 046ed902 0c0de006 0302449d 4294d102 0c66d900
0b20bd30
e3a0 5d90017d 3a20900b 5d94017d 0e20940b 0500017c 4c1eb5f0 4e1ea700
b0c519e4
e3c0 59a52700 9101ae03 542b491b 430400d3 f6703793 05ead4f7 01b90846
4fe01a20
e3e0 2a7180f4 32bd6e46 02d09ce9 687830ea e0cf55b1 40037f0c 14f10e22
eaa85500
e400 00000020 00000010 00000000 00000000 00010000 00000003 00001002
ffffffff
e420 00030009 65656275 00000000 000d0008 000003e8 00100005 00000002
00110005
e440 00000000 00040008 00000578 00060009 706f6f6e 00000000 000e0024
00000000
e460 00000000 00000000 00000000 00000000 00000000 00000000 cfd0e800
0001000a
R7:
0xcfd0e414:
e414 00000003 00001002 ffffffff 00030009 65656275 00000000 000d0008
000003e8
e434 00100005 00000002 00110005 00000000 00040008 00000578 00060009
706f6f6e
e454 00000000 000e0024 00000000 00000000 00000000 00000000 00000000
00000000
e474 00000000 cfd0e800 0001000a 09881d00 0000983d 0002000a ffffffff
0000ffff
e494 00070060 683a9803 990160c2 6103680b 60db5edd 012a0c46 9949e018
6813ff77
e4b4 5e158799 15464be9 9d286984 534dcb02 10004fc3 155c13b5 1218e407
e018e24b
e4d4 22b13858 21442675 53063064 511e5968 b8e01060 e8d4615e f8df2d0f
48e8012c
e4f4 74240a6c f7f60229 4c01eb0e ead60a03 18a44a04 1c5968a3 4e1060a1
0e68d421
Process khubd (pid: 202, stack limit =
0xcf9a42e0)
Stack: (0xcf9a59b8 to
0xcf9a6000)
59a0: c0411688
00000063
59c0: c04116b5 cfd0e800 00000000 cfd0e800 cf846740 cfd0e800 cf9a59f4
cf9a59e8
59e0: c02b4b7c c01c4ec0 cf9a5a54 cf9a59f8 c02c08f0 c02b4b68 a0000113
00000000
5a00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000
cfd0e800
5a20: cf9a5a54 00000578 c02b0938 00000000 cfd0e800 cf846740 00000010
ffffffff
5a40: 000170c4 cfd0e800 cf9a5a8c cf9a5a58 c02c0e48 c02c060c 00000000
ffffffff
5a60: 00000000 cfd0e9f0 00000000 00000000 fffffffe c048ec44 00000005
cfd0e800
5a80: cf9a5a9c cf9a5a90 c02c0f34 c02c0da0 cf9a5ac4 cf9a5aa0 c006e534
c02c0ed0
5aa0: cfd0e800 00000000 cfd0e810 c0411688 00000000 00000001 cf9a5adc
cf9a5ac8
5ac0: c006e6e4 c006e50c 00000000 c01aadc0 cf9a5aec cf9a5ae0 c02b7868
c006e6d0
5ae0: cf9a5b4c cf9a5af0 c02b97dc c02b7858 22222200 22222222 22222222
22222222
5b00: 00000000 cfd0e800 00016e1c c047c570 c0411688 00000000 000170c4
00000001
5b20: cf9a5b3c cf9a5b30 c034cb90 c034c950 cf9a5b4c cfd0e800 00016e1c
c047c570
5b40: cf9a5b64 cf9a5b50 c02b9888 c02b9440 cfc60000 00016e1c cf9a5b9c
cf9a5b68
5b60: c01c5414 c02b9850 c0411688 0000009b c04117a6 c01d5678 cfc60000
00000000
5b80: c047c570 c0411c03 00019004 c046eb64 cf9a5bec cf9a5ba0 c01cba94
c01c526c
5ba0: c0411c03 000003c5 c0412657 00000003 cf8022b0 cf8022a8 a0000013
00000000
5bc0: 01000000 001f4002 cfa725f4 cfa72000 cfa72600 00000080 cfce4e20
00000800
5be0: cf9a5c34 cf9a5bf0 c01b8fd8 c01cb5f8 c040e0b5 000002a9 c040e3e0
bece3301
5c00: 60000013 00000000 00000000 cfc60000 c040e0b5 c047c570 c046eb64
cfb1ac00
5c20: 00000000 cfa72000 cf9a5c7c cf9a5c38 c01b94bc c01b8614 c040e0b5
000000f3
5c40: c040e53a cfa72000 c0237218 c034c810 cfb1ac20 cfb1ac20 00000000
cfb1ac00
5c60: cf9c1400 c047c46c c047c43c c047c4b0 cf9a5cb4 cf9a5c80 c0237cc4
c01b9328
5c80: c00eb46c c00eb2f8 cf9a5cb4 00000001 cfb1ac20 c01ad1d8 c047c46c
00000000
5ca0: cfb1aa00 c0486438 cf9a5cd4 cf9a5cb8 c01ad0a4 c0237b9c cfb1ac20
cf9a5ce8
5cc0: c01ad1d8 00000000 cf9a5ce4 cf9a5cd8 c01ad1e8 c01acfe0 cf9a5d0c
cf9a5ce8
5ce0: c01ac66c c01ad1e4 cf90ef28 cf8541d4 cfb1acac cfb1ac20 00000000
cfb1aa00
5d00: cf9a5d24 cf9a5d10 c01ad270 c01ac624 c048646c cfb1ac20 cf9a5d3c
cf9a5d28
5d20: c01ac4a4 c01ad224 cfb1ac20 cfb1ac68 cf9a5d84 cf9a5d40 c01ab0b8
c01ac480
5d40: cfb1aa00 cf9c1460 cf9a5d78 cf9a5d58 c01aa4c8 c015e470 cfb1ac20
cf9c1400
5d60: 00000000 cfb1aa00 cfb1aa00 cfb1ac00 cfb1aa00 00000001 cf9a5df4
cf9a5d88
5d80: c0236690 c01aadc0 00000001 00000000 00000000 00000000 00001388
cf9a5da8
5da0: cfb1ac00 cf9c1404 cfb1aa00 00000001 cf9c14cc 00000000 cf9c1460
cfb1aa04
5dc0: 00000000 cfbf6ea0 cf9c14cc cf9c1400 cf9c1460 00000001 c0486abc
00000000
5de0: 00000002 c0486230 cf9a5e1c cf9a5df8 c023e048 c02361d8 c00eb46c
c00eb2f8
5e00: cf9a5e2c 00000001 cf9c1460 c01ad1d8 cf9a5e2c cf9a5e20 c0236938
c023e000
5e20: cf9a5e4c cf9a5e30 c01ad0a4 c0236900 cf9c1460 cf9a5e60 c01ad1d8
00000000
5e40: cf9a5e5c cf9a5e50 c01ad1e8 c01acfe0 cf9a5e84 cf9a5e60 c01ac66c
c01ad1e4
5e60: cf90ef28 cf99f7b4 cf9c14ec cf9c1460 00000000 cf81df60 cf9a5e9c
cf9a5e88
5e80: c01ad270 c01ac624 c048646c cf9c1460 cf9a5eb4 cf9a5ea0 c01ac4a4
c01ad224
5ea0: cf9c1460 cf9c14a8 cf9a5efc cf9a5eb8 c01ab0b8 c01ac480 cf9a5efc
cf88fc60
5ec0: 3a393831 c0340031 c0423710 c042dd70 cf9c14cc cf9c1400 cf9c1460
cf9c14cc
5ee0: 00000000 00000000 00000002 cf88ee14 cf9a5f24 cf9a5f00 c0230c5c
c01aadc0
5f00: 00000002 00000003 cf957160 cf9c1400 00000002 cf88fc00 cf9a5fd4
cf9a5f28
5f20: c0231e40 c0230b74 cf9a5f7c cf9a5f38 00000000 00000000 00000000
c045c168
5f40: cf9571a4 cf9571ac 00000001 cf88fcec cf957168 cf9571fc cf88e88c
cf88e800
5f60: cf9571a8 cf88e820 cf9a4000 cf88fe28 cf88e820 cf957161 cf88fc04
cf88ee00
5f80: cf88fc00 00000000 00000000 cf9b4740 c006a608 cf9a5f94 cf9a5f94
c0054aa0
5fa0: 05010000 00000000 cf9a5fd4 cf9a4000 c02315c8 00000000 00000000
00000000
5fc0: 00000000 00000000 cf9a5ff4 cf9a5fd8 c006a1bc c02315d4 00000000
00000000
5fe0: 00000000 00000000 00000000 cf9a5ff8 c0059e00 c006a16c 00000000
00000000
Backtrace:
[<c01c4eb4>] (bcm_get_stats+0x0/0xc8) from [<c02b4b7c>] (dev_get_stats
+0x20/0x2c)
r5:cfd0e800
r4:cf846740
[<c02b4b5c>] (dev_get_stats+0x0/0x2c) from [<c02c08f0>]
(rtnl_fill_ifinfo
+0x2f0/0x4f0)
[<c02c0600>] (rtnl_fill_ifinfo+0x0/0x4f0) from [<c02c0e48>]
(rtmsg_ifinfo
+0xb4/0x130)
[<c02c0d94>] (rtmsg_ifinfo+0x0/0x130) from [<c02c0f34>]
(rtnetlink_event
+0x70/0x78)
[<c02c0ec4>] (rtnetlink_event+0x0/0x78) from [<c006e534>]
(notifier_call_chain
+0x34/0x78)
[<c006e500>] (notifier_call_chain+0x0/0x78) from [<c006e6e4>]
(raw_notifier_call_chain
+0x20/0x28)
[<c006e6c4>] (raw_notifier_call_chain+0x0/0x28) from [<c02b7868>]
(call_netdevice_notifiers+0x1c/
0x24)
[<c02b784c>] (call_netdevice_notifiers+0x0/0x24) from [<c02b97dc>]
(register_netdevice
+0x3a8/0x410)
[<c02b9434>] (register_netdevice+0x0/0x410) from [<c02b9888>]
(register_netdev
+0x44/0x54)
r6:c047c570 r5:00016e1c
r4:cfd0e800
[<c02b9844>] (register_netdev+0x0/0x54) from [<c01c5414>]
(register_networkdev
+0x1b4/0x2e4)
r5:00016e1c
r4:cfc60000
[<c01c5260>] (register_networkdev+0x0/0x2e4) from [<c01cba94>]
(InitCardAndDownloadFirmware
+0x4a8/0x8a0)
[<c01cb5ec>] (InitCardAndDownloadFirmware+0x0/0x8a0) from [<c01b8fd8>]
(InterfaceAdapterInit
+0x9d0/0xa90)
r8:00000800 r7:cfce4e20 r6:00000080 r5:cfa72600
r4:cfa72000
[<c01b8608>] (InterfaceAdapterInit+0x0/0xa90) from [<c01b94bc>]
(usbbcm_device_probe
+0x1a0/0x2fc)
[<c01b931c>] (usbbcm_device_probe+0x0/0x2fc) from [<c0237cc4>]
(usb_probe_interface
+0x134/0x188)
[<c0237b90>] (usb_probe_interface+0x0/0x188) from [<c01ad0a4>]
(driver_probe_device
+0xd0/0x178)
[<c01acfd4>] (driver_probe_device+0x0/0x178) from [<c01ad1e8>]
(__device_attach
+0x10/0x14)
r7:00000000 r6:c01ad1d8 r5:cf9a5ce8
r4:cfb1ac20
[<c01ad1d8>] (__device_attach+0x0/0x14) from [<c01ac66c>]
(bus_for_each_drv
+0x54/0x94)
[<c01ac618>] (bus_for_each_drv+0x0/0x94) from [<c01ad270>]
(device_attach
+0x58/0x70)
r7:cfb1aa00 r6:00000000 r5:cfb1ac20
r4:cfb1acac
[<c01ad218>] (device_attach+0x0/0x70) from [<c01ac4a4>]
(bus_attach_device
+0x30/0x64)
r5:cfb1ac20
r4:c048646c
[<c01ac474>] (bus_attach_device+0x0/0x64) from [<c01ab0b8>] (device_add
+0x304/0x470)
r5:cfb1ac68
r4:cfb1ac20
[<c01aadb4>] (device_add+0x0/0x470) from [<c0236690>]
(usb_set_configuration
+0x4c4/0x550)
[<c02361cc>] (usb_set_configuration+0x0/0x550) from [<c023e048>]
(generic_probe
+0x54/0x98)
[<c023dff4>] (generic_probe+0x0/0x98) from [<c0236938>]
(usb_probe_device
+0x44/0x4c)
r6:c01ad1d8 r5:cf9c1460
r4:00000001
[<c02368f4>] (usb_probe_device+0x0/0x4c) from [<c01ad0a4>]
(driver_probe_device
+0xd0/0x178)
[<c01acfd4>] (driver_probe_device+0x0/0x178) from [<c01ad1e8>]
(__device_attach
+0x10/0x14)
r7:00000000 r6:c01ad1d8 r5:cf9a5e60
r4:cf9c1460
[<c01ad1d8>] (__device_attach+0x0/0x14) from [<c01ac66c>]
(bus_for_each_drv
+0x54/0x94)
[<c01ac618>] (bus_for_each_drv+0x0/0x94) from [<c01ad270>]
(device_attach
+0x58/0x70)
r7:cf81df60 r6:00000000 r5:cf9c1460
r4:cf9c14ec
[<c01ad218>] (device_attach+0x0/0x70) from [<c01ac4a4>]
(bus_attach_device
+0x30/0x64)
r5:cf9c1460
r4:c048646c
[<c01ac474>] (bus_attach_device+0x0/0x64) from [<c01ab0b8>] (device_add
+0x304/0x470)
r5:cf9c14a8
r4:cf9c1460
[<c01aadb4>] (device_add+0x0/0x470) from [<c0230c5c>] (usb_new_device
+0xf4/0x168)
[<c0230b68>] (usb_new_device+0x0/0x168) from [<c0231e40>] (hub_thread
+0x878/0xd10)
r7:cf88fc00 r6:00000002 r5:cf9c1400
r4:cf957160
[<c02315c8>] (hub_thread+0x0/0xd10) from [<c006a1bc>] (kthread+0x5c/
0x98)
[<c006a160>] (kthread+0x0/0x98) from [<c0059e00>] (do_exit
+0x0/0x664)
r7:00000000 r6:00000000 r5:00000000
r4:00000000
Code: e3a03000 e1d526bc e2840008 e0822801
(e5842008)
Kernel panic - not syncing: Fatal exception
--
unsubscribe: [email protected]
website: http://groups.google.com/group/android-kernel