| Summary: | sys-kernel/gentoo-sources-2.6.37: bug in rt61pci module when removing pcmcia card | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Marek Mrva <mrvamarek> |
| Component: | [OLD] Core system | Assignee: | Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel> |
| Status: | RESOLVED TEST-REQUEST | ||
| Severity: | minor | ||
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
dmesg output
use spinlock to unload the module |
||
|
Description
Marek Mrva
2011-01-23 17:05:35 UTC
Created attachment 260547 [details]
dmesg output
Please test with gentoo-sources-2.6.38 and post the results. (In reply to comment #2) > Please test with gentoo-sources-2.6.38 and post the results. Tested with the driver both as a module and built-in, showing basically the same results. I can post them here, if they would be of any help... Created attachment 271659 [details, diff]
use spinlock to unload the module
Hm, looks like a 'race condition' between the removal functions, and a pending irq on the device. Maybe a spinlock, which will be aquired during the irq, and when the driver is going to be unloaded could work.
I saw they've changed the code a bit in 2.6.39, to use a spinlock, in order to protect the irq mask, so you can also try the latest -rc release, and see if that resolves your issue.
I attach a simple patch to use a spinlock(diff'ed against 2.6.38 clean sources), which could fix your problem. Probably it won't work, but if you want, give it a try (it builds cleanly, but I cannot test it myself unfortunately).
|