On Thu, Jan 15, 2015 at 3:07 PM, Jan Safrata <jan.nikitenko@xxxxxxxxx> wrote: > psb_driver_unload did not call drm_irq_uninstall causing kernel oops > in modprobe after rmmod gma500_gfx: > > BUG: unable to handle kernel paging request at f858cf08 > IP: [<c124b313>] strcmp+0x13/0x30 > *pdpt = 00000000016ea001 *pde = 0000000036c44067 *pte = 0000000000000000 > Oops: 0000 [#1] SMP > Modules linked in: gma500_gfx(+) iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack ip_tables x_tables eetis_ts ipv6 snd_hda_codec_cirrus option us] > CPU: 0 PID: 3648 Comm: modprobe Tainted: G O 3.12.25-acs4+ #4 > Hardware name: SECO 0866, BIOS 1.18 03/01/2012 > task: f6d07440 ti: f6d54000 task.ti: f6d54000 > EIP: 0060:[<c124b313>] EFLAGS: 00010082 CPU: 0 > EIP is at strcmp+0x13/0x30 > EAX: f851af67 EBX: f4565340 ECX: f6de8cdc EDX: f858cf08 > ESI: f851af09 EDI: f858cf08 EBP: f6d55b58 ESP: f6d55b50 > DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 > CR0: 8005003b CR2: f858cf08 CR3: 36575000 CR4: 000007e0 > Stack: > f6de8c80 f3913940 f6d55c08 c1071e73 f6d55b6c c1249d5f f6d55b84 f6d55b98 > 00000282 f6de8cdc c15a9f66 000000e9 00041f1d 000000e9 00000000 00000000 > 00000000 c170c24c f6d55bb8 c106a42c f7af0b40 f6d07440 f7af31c0 00000000 > Call Trace: > [<c1071e73>] register_handler_proc+0x83/0x110 > [<c1249d5f>] ? sprintf+0x1f/0x30 > [<c106a42c>] ? print_prefix+0x5c/0xb0 > [<c106a539>] ? msg_print_text+0xb9/0x170 > [<c106af18>] ? wake_up_klogd+0x28/0x30 > [<c106b26d>] ? console_unlock+0x34d/0x460 > [<c106e84c>] __setup_irq+0x22c/0x470 > [<f8512670>] ? psb_disable_pipestat+0xa0/0xa0 [gma500_gfx] > [<c106eb29>] request_threaded_irq+0x99/0x120 > [<c12f574c>] drm_irq_install+0xfc/0x230 > [<f8512670>] ? psb_disable_pipestat+0xa0/0xa0 [gma500_gfx] > [<f850af4e>] gma_power_restore+0x80e/0xa90 [gma500_gfx] > [<c12f9362>] drm_get_pci_dev+0x102/0x2b0 > [<f850aa5d>] gma_power_restore+0x31d/0xa90 [gma500_gfx] > [<c12664ff>] pci_device_probe+0x5f/0x90 > [<c130e1d9>] driver_probe_device+0x59/0x200 > [<c12660d6>] ? pci_match_device+0x96/0xa0 > [<c130e409>] __driver_attach+0x89/0x90 > [<c130e380>] ? driver_probe_device+0x200/0x200 > [<c130c952>] bus_for_each_dev+0x42/0x80 > [<c130ddda>] driver_attach+0x1a/0x20 > [<c130e380>] ? driver_probe_device+0x200/0x200 > [<c130d96c>] bus_add_driver+0xcc/0x270 > [<c130e9b5>] driver_register+0x55/0xe0 > [<c105b1a2>] ? __wake_up+0x42/0x50 > [<c12665be>] __pci_register_driver+0x2e/0x40 > [<f8425000>] ? 0xf8424fff > [<c12f9614>] drm_pci_init+0x104/0x110 > [<f8425000>] ? 0xf8424fff > [<f8425012>] init_module+0x12/0x14 [gma500_gfx] > [<c1000422>] do_one_initcall+0xd2/0x120 > [<c10c34c7>] ? __vunmap+0x87/0xd0 > [<c10848b5>] load_module+0x1745/0x1f20 > [<c10851b5>] SyS_finit_module+0x75/0x80 > [<c14d6efe>] sysenter_do_call+0x12/0x16 > Code: ac aa 84 c0 75 f7 31 c0 aa 89 d8 8b 75 f8 8b 5d f4 8b 7d fc 89 ec 5d c3 55 8d 2c 24 8d 64 24 f8 89 75 f8 89 7d fc 89 c6 89 d7 ac <ae> 75 08 84 c0 75 f8 31 c0 eb 04 19 c > EIP: [<c124b313>] strcmp+0x13/0x30 SS:ESP 0068:f6d55b50 > CR2: 00000000f858cf08 > ---[ end trace ec712b3b117c8e34 ]--- > > Signed-off-by: Jan Safrata <jan.nikitenko@xxxxxxxxx> > Cc: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> > --- > drivers/gpu/drm/gma500/psb_drv.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c > index 92e7e57..b1b837b 100644 > --- a/drivers/gpu/drm/gma500/psb_drv.c > +++ b/drivers/gpu/drm/gma500/psb_drv.c > @@ -170,6 +170,8 @@ static int psb_driver_unload(struct drm_device *dev) > gma_backlight_exit(dev); > psb_modeset_cleanup(dev); > > + drm_irq_uninstall(dev); > + > if (dev_priv->ops->chip_teardown) > dev_priv->ops->chip_teardown(dev); > > -- > 1.8.5.5 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel