Bug 10879

Summary: wbsd driver causes BUG() in tasklet_action()
Product: Drivers Reporter: Chuck Ebbert (cebbert)
Component: MMC/SDAssignee: Alexey Dobriyan (adobriyan)
Status: RESOLVED CODE_FIX    
Severity: normal CC: adobriyan
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.25.4 Subsystem:
Regression: No Bisected commit-id:
Attachments: Proposed patch

Description Chuck Ebbert 2008-06-06 17:40:07 UTC
Distribution: Fedora
Hardware Environment: x86_64

Problem Description:

We hit this:
kernel/softirq.c:409:
            if (!test_and_clear_bit(TASKLET_STATE_SCHED, &t->state))
                    BUG();

Tasklet was initialized after being scheduled, clearing the bit.

Steps to reproduce:
1. Build kernel with CONFIG_DEBUG_SHIRQ
2. Boot with an SD card inserted
Comment 1 Chuck Ebbert 2008-06-06 17:42:29 UTC
Created attachment 16423 [details]
Proposed patch

This is Fedora bug 449817:

https://bugzilla.redhat.com/show_bug.cgi?id=449817
Comment 2 Andrew Morton 2008-06-06 18:43:28 UTC
argh.  patches-via-bugzilla suck.  Please just email it in
the usual fashion?  Me and Pierre Ossman <drzeus@drzeus.cx>
and lkml?
Comment 3 Alexey Dobriyan 2009-11-15 17:20:42 UTC
commit cef33400d0349fb24b6f8b7dea79b66e3144fd8b
"mmc: wbsd: initialize tasklets before requesting interrupt"