Breno Leitao
95caa0a9bd
icom: fix rmmod crash
Actually the icom driver is crashing when is being removed because
the driver is kfreeing the adapter structure before calling
pci_release_regions(), which result in the following error:
Unable to handle kernel paging request for data at address 0x6b6b6b6b6b6b6d33
Faulting instruction address: 0xc000000000246b80
Oops: Kernel access of bad area, sig: 11 [#1]
....
[c000000012d436a0] [c0000000001002d0] .kfree+0x120/0x34c (unreliable)
[c000000012d43730] [c000000000246d60] .pci_release_selected_regions+0x3c/0x68
[c000000012d437c0] [d000000002d54700] .icom_kref_release+0xf4/0x118 [icom]
[c000000012d43850] [c000000000232e50] .kref_put+0x74/0x94
[c000000012d438d0] [d000000002d56c58] .icom_remove+0x40/0xa4 [icom]
[c000000012d43960] [c000000000249e48] .pci_device_remove+0x50/0x90
[c000000012d439e0] [c0000000002d68d8] .__device_release_driver+0x94/0xd4
[c000000012d43a70] [c0000000002d7104] .driver_detach+0xf8/0x12c
[c000000012d43b00] [c0000000002d549c] .bus_remove_driver+0xbc/0x11c
[c000000012d43b90] [c0000000002d71dc] .driver_unregister+0x60/0x80
[c000000012d43c20] [c00000000024a07c] .pci_unregister_driver+0x44/0xe8
[c000000012d43cb0] [d000000002d56bf4] .icom_exit+0x1c/0x40 [icom]
[c000000012d43d30] [c000000000095fa8] .SyS_delete_module+0x214/0x2a8
[c000000012d43e30] [c00000000000852c] syscall_exit+0x0/0x40
Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
Cc: stable@kernel.org
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-05-22 21:47:52 -07:00
..
2009-05-16 01:55:59 -04:00
2009-05-15 14:14:56 -04:00
2009-04-13 15:04:33 -07:00
2009-05-08 19:22:21 -07:00
2009-05-19 08:27:42 +02:00
2009-05-20 08:42:06 +02:00
2009-05-22 07:30:41 -07:00
2009-04-21 13:41:47 -07:00
2009-05-17 15:48:05 -07:00
2009-05-12 14:41:48 -07:00
2009-04-21 13:41:51 -07:00
2009-05-02 15:36:10 -07:00
2009-04-03 15:24:35 -07:00
2009-05-20 11:41:41 -07:00
2009-05-11 17:09:21 +02:00
2009-05-08 20:27:28 +02:00
2009-05-12 11:21:51 -07:00
2009-05-22 16:23:39 +02:00
2009-04-07 08:31:10 -07:00
2009-04-07 08:31:11 -07:00
2009-05-13 16:31:12 -07:00
2009-05-20 23:26:51 +01:00
2009-05-09 10:51:34 -04:00
2009-04-08 14:13:48 +01:00
2009-04-19 23:14:01 +09:30
2009-04-24 08:16:05 -07:00
2009-05-07 12:51:06 +10:00
2009-05-09 18:54:32 -03:00
2009-04-07 08:31:11 -07:00
2009-04-21 13:41:50 -07:00
2009-05-19 22:22:28 +02:00
2009-05-06 16:36:10 -07:00
2009-05-20 23:26:51 +01:00
2009-05-18 08:36:21 -07:00
2009-05-18 15:38:55 -07:00
2009-04-05 11:04:19 -07:00
2009-04-14 08:48:50 -07:00
2009-04-07 08:44:06 -07:00
2009-05-19 15:26:07 -07:00
2009-04-23 23:25:40 +01:00
2009-05-14 11:28:27 -04:00
2009-05-08 00:22:29 -04:00
2009-04-08 17:45:02 -07:00
2009-04-07 08:31:11 -07:00
2009-05-18 11:21:10 +01:00
2009-05-20 23:26:51 +01:00
2009-04-27 10:07:37 -05:00
2009-04-14 19:46:19 -07:00
2009-05-09 10:49:42 -04:00
2009-05-22 21:47:52 -07:00
2009-04-06 08:55:19 -07:00
2009-04-07 08:31:10 -07:00
2009-05-12 14:11:34 -07:00
2009-05-08 19:39:28 -07:00
2009-05-14 13:40:53 -04:00
2009-04-16 16:17:11 -07:00
2009-05-18 08:37:15 -07:00
2009-04-07 08:31:11 -07:00
2009-05-22 13:19:15 +09:00
2009-04-19 23:14:01 +09:30
2009-04-05 00:32:22 +02:00
2009-04-23 23:25:41 +01:00
2009-05-05 11:43:13 -07:00
2009-04-29 15:41:13 -03:00