On 08/06/2012 08:52 PM, Luis R. Rodriguez wrote: > On Thu, Aug 2, 2012 at 9:28 AM, Hauke Mehrtens <hauke@xxxxxxxxxx> wrote: >> The hader file defines flush_scheduled_work(a) >> compat_flush_scheduled_work(a), which causes flush_scheduled_work() and >> compat_flush_scheduled_work() to be the same function. >> >> With this patch it calls the actual function in the kernel. >> >> This fixes problems when unloading mac80211 from compat-wireless. >> >> Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> >> --- >> compat/compat-2.6.36.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/compat/compat-2.6.36.c b/compat/compat-2.6.36.c >> index 8f25be0..05b41c2 100644 >> --- a/compat/compat-2.6.36.c >> +++ b/compat/compat-2.6.36.c >> @@ -133,6 +133,7 @@ int compat_schedule_delayed_work_on(int cpu, >> } >> EXPORT_SYMBOL_GPL(compat_schedule_delayed_work_on); >> >> +#undef flush_scheduled_work(a) >> void compat_flush_scheduled_work(void) > > Hah! Nice. I'll add this and push... Zefir can you see if after > getting today's compat.git and then by reverting your patch > 3da0495cf863288b on compat.git if the unloading issues still happens. > Likely this was the *real* cause, although it is odd to me you ended > up removing the flush_workqueue() and not the flush_scheduled_work(). > > Luis > Yep, works. Thanks Hauke for the proper fix. As for why I removed the wrong line, I got the macro mapping wrong, assuming it ended in calling flush_workqueue() - and chose to remove the wrong one. Still curious why it is not crashing with my quick hack, that remained recursion intact... Thanks -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html