Toru UCHIYAMA
38bddf04bc
gianfar: gfar_remove needs to call unregister_netdev()
This patch solves the problem that the Oops(BUG_ON) occurs by rmmod.
# rmmod gianfar_driver
------------[ cut here ]------------
Kernel BUG at c01fec48 [verbose debug info unavailable]
Oops: Exception in kernel mode, sig: 5 [#1]
MPC837x MDS
Modules linked in: gianfar_driver(-) usb_storage scsi_wait_scan
NIP: c01fec48 LR: c01febf4 CTR: c01feba8
REGS: dec5bd60 TRAP: 0700 Tainted: G W (2.6.31-rc2)
MSR: 00029032 <EE,ME,CE,IR,DR> CR: 22000424 XER: 20000000
TASK = dec4cac0[1135] 'rmmod' THREAD: dec5a000
GPR00: 00000002 dec5be10 dec4cac0 dfba1820 c035d444 c035d478 ffffffff 00000000
GPR08: 0000002b 00000001 dfba193c 00000001 22000424 10019b34 1ffcb000 00000000
GPR16: 10012008 00000000 bf82ebe0 100017ec bf82ebec bf82ebe8 bf82ebd0 00000880
GPR24: 00000000 bf82ebf0 c03532f0 c03532e4 c036b594 dfba183c dfba1800 dfba1820
NIP [c01fec48] free_netdev+0xa0/0xb8
LR [c01febf4] free_netdev+0x4c/0xb8
Call Trace:
[dec5be10] [c01febf4] free_netdev+0x4c/0xb8 (unreliable)
[dec5be30] [e105f290] gfar_remove+0x50/0x68 [gianfar_driver]
[dec5be40] [c01ec534] of_platform_device_remove+0x30/0x44
[dec5be50] [c0181760] __device_release_driver+0x68/0xc8
[dec5be60] [c0181868] driver_detach+0xa8/0xac
[dec5be80] [c0180814] bus_remove_driver+0x9c/0xd8
[dec5bea0] [c0181efc] driver_unregister+0x60/0x98
[dec5beb0] [c01ec650] of_unregister_driver+0x14/0x24
[dec5bec0] [e10631bc] gfar_exit+0x18/0x4bc [gianfar_driver]
[dec5bed0] [c0047584] sys_delete_module+0x16c/0x228
[dec5bf40] [c00116bc] ret_from_syscall+0x0/0x38
--- Exception: c01 at 0xff3669c
LR = 0x10000f34
Instruction dump:
409e0024 a07e00c0 7c63f050 4be74429 80010024 bba10014 38210020 7c0803a6
4e800020 68000003 3160ffff 7d2b0110 <0f090000> 38000004 387e01f0 901e01d4
---[ end trace 8c595bcd37230a0f ]---
localhost kernel: ------------[ cut here ]------------
Signed-off-by: Toru UCHIYAMA uchiyama.toru@jp.fujitsu.com
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-30 22:04:07 -07:00
..
2009-07-08 10:30:03 -07:00
2009-08-18 23:34:58 -07:00
2009-08-09 21:45:31 -07:00
2009-06-25 02:58:17 -07:00
2009-08-09 21:45:31 -07:00
2009-07-22 09:28:55 -07:00
2009-07-16 18:05:23 -07:00
2009-08-13 16:33:01 -07:00
2009-07-09 17:16:06 -07:00
2009-06-30 19:47:00 -07:00
2009-08-15 18:52:59 -07:00
2009-08-04 11:48:39 -07:00
2009-07-22 09:27:19 -07:00
2009-07-22 09:49:58 -07:00
2009-08-20 02:21:27 -07:00
2009-07-13 11:11:41 -07:00
2009-08-04 11:46:41 -07:00
2009-08-25 20:39:37 -07:00
2009-08-13 20:13:23 -07:00
2009-08-23 19:51:03 -07:00
2009-08-23 19:51:03 -07:00
2009-08-13 16:33:04 -07:00
2009-07-22 09:49:58 -07:00
2009-07-23 10:56:48 -07:00
2009-07-03 19:10:51 -07:00
2009-07-26 18:50:39 -07:00
2009-08-14 16:41:16 -07:00
2009-08-14 16:41:17 -07:00
2009-07-08 10:30:03 -07:00
2009-08-28 14:35:32 -04:00
2009-08-05 20:23:07 -07:00
2009-07-30 13:27:28 -07:00
2009-08-12 22:18:14 -07:00
2009-07-12 14:20:04 -07:00
2009-07-08 10:30:03 -07:00
2009-07-26 18:50:38 -07:00
2009-08-14 16:41:16 -07:00
2009-07-09 20:32:31 -07:00
2009-08-15 18:50:44 -07:00
2009-08-15 18:50:44 -07:00
2009-07-21 13:00:44 -07:00
2009-07-08 10:30:03 -07:00
2009-07-05 18:03:23 -07:00
2009-08-15 18:50:47 -07:00
2009-08-15 18:50:47 -07:00
2009-08-15 18:50:44 -07:00
2009-06-24 18:03:11 -07:00
2009-07-14 12:03:41 -07:00
2009-07-08 10:46:44 -07:00
2009-07-08 10:30:03 -07:00
2009-08-23 19:02:13 -07:00
2009-07-26 18:53:17 -07:00
2009-07-30 13:27:34 -07:00
2009-07-08 10:30:03 -07:00
2009-07-27 13:42:47 -07:00
2009-08-23 19:51:03 -07:00
2009-08-09 21:45:33 -07:00
2009-07-06 18:56:11 -07:00
2009-07-05 18:03:33 -07:00
2009-06-25 20:03:53 -07:00
2009-07-30 14:20:42 -07:00
2009-08-30 22:04:07 -07:00
2009-07-08 10:30:03 -07:00
2009-07-14 12:03:41 -07:00
2009-07-21 12:21:49 -07:00
2009-08-23 19:47:03 -07:00
2009-07-20 08:23:26 -07:00
2009-07-20 08:23:26 -07:00
2009-08-23 19:51:03 -07:00
2009-07-21 12:21:49 -07:00
2009-07-20 08:23:26 -07:00
2009-06-25 20:06:34 -07:00
2009-06-19 01:12:52 -07:00
2009-07-08 10:30:03 -07:00
2009-07-08 10:30:03 -07:00
2009-07-08 10:30:03 -07:00
2009-08-09 21:45:48 -07:00
2009-07-12 14:20:04 -07:00
2009-07-16 09:14:23 -07:00
2009-08-02 12:20:31 -07:00
2009-07-16 09:14:23 -07:00
2009-07-30 14:19:19 -07:00
2009-08-02 12:20:34 -07:00
2009-07-12 14:20:02 -07:00
2009-07-12 14:20:02 -07:00
2009-06-23 16:36:27 -07:00
2009-07-08 10:49:28 -07:00
2009-07-26 20:18:52 -07:00
2009-08-02 12:20:40 -07:00
2009-07-20 08:27:02 -07:00
2009-06-25 20:03:56 -07:00
2009-07-22 11:24:26 -07:00
2009-08-03 19:02:36 -07:00
2009-08-03 19:02:36 -07:00
2009-08-26 12:03:35 -07:00
2009-07-26 19:15:07 -07:00
2009-07-12 14:20:04 -07:00
2009-07-08 10:30:03 -07:00
2009-07-08 10:30:03 -07:00
2009-07-12 14:20:04 -07:00
2009-07-08 10:30:03 -07:00
2009-08-09 21:45:35 -07:00
2009-08-14 16:41:16 -07:00
2009-06-25 02:45:42 -07:00
2009-08-14 16:41:16 -07:00
2009-08-14 16:30:37 -07:00
2009-08-26 12:22:32 -07:00
2009-08-18 20:21:40 -07:00
2009-08-09 21:46:53 -07:00