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-04-06 09:09:33 -05:00
2009-05-06 14:47:13 -07:00
2008-05-01 08:04:00 -07:00
2008-10-20 08:52:36 -07:00
2008-02-08 09:22:25 -08:00
2008-02-08 09:22:25 -08:00
2009-04-24 07:52:08 -07:00
2009-04-06 14:36:26 -07:00
2009-02-20 17:57:50 -08:00
2008-09-02 19:21:38 -07:00
2009-03-25 10:21:35 +00:00
2008-10-16 16:52:02 +02:00
2008-07-20 17:12:36 -07:00
2009-05-20 23:26:51 +01:00
2009-05-20 23:26:51 +01:00
2009-04-01 16:13:51 +02:00
2009-04-21 13:41:51 -07:00
2009-01-02 10:19:42 -08:00
2008-04-30 08:29:30 -07:00
2009-03-25 10:21:35 +00:00
2009-05-02 15:36:09 -07:00
2009-04-07 08:44:05 -07:00
2008-07-24 10:47:29 -07:00
2008-02-07 08:42:24 -08:00
2009-05-22 21:47:52 -07:00
2009-03-13 10:33:48 +01:00
2008-12-09 10:08:51 -08:00
2008-07-20 17:12:36 -07:00
2008-07-20 17:12:36 -07:00
2009-04-13 08:17:52 -07:00
2008-04-30 08:29:47 -07:00
2008-10-16 16:52:06 +02:00
2009-04-07 08:44:05 -07:00
2009-04-08 14:33:38 -07:00
2009-03-24 15:17:43 +10:00
2009-02-04 11:23:56 -07:00
2008-07-23 11:30:16 -05:00
2008-07-20 17:12:36 -07:00
2008-10-30 09:41:59 +01:00
2009-05-15 16:43:42 +10:00
2009-01-16 16:15:17 +11:00
2009-04-07 15:07:43 +10:00
2009-01-15 12:48:36 -08:00
2009-03-09 21:22:38 +08:00
2008-12-15 21:46:36 +00:00
2008-10-07 22:26:09 +01:00
2008-10-07 22:26:09 +01:00
2008-10-07 22:26:09 +01:00
2008-12-10 08:01:53 -08:00
2009-05-01 12:28:16 +01:00
2009-03-25 10:21:35 +00:00
2009-05-01 12:28:16 +01:00
2009-05-01 12:28:16 +01:00
2008-07-20 17:12:36 -07:00
2008-07-20 17:12:36 -07:00
2009-04-01 14:50:48 -07:00
2008-08-31 15:50:33 +02:00
2008-10-01 22:41:43 +01:00
2008-11-28 16:39:04 +00:00
2008-10-20 08:50:24 -07:00
2009-03-03 15:40:25 +09:00
2009-03-03 15:40:25 +09:00
2008-10-20 08:52:36 -07:00
2008-08-31 01:23:17 -07:00
2008-08-31 01:23:17 -07:00
2009-04-08 03:29:03 -07:00
2009-03-24 16:38:21 -07:00
2008-11-14 09:59:48 -07:00
2009-04-06 14:36:32 -07:00
2008-07-20 17:12:36 -07:00
2008-07-24 10:47:29 -07:00