On Thu, Aug 9, 2012 at 2:22 AM, Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> wrote: > 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... You tell me! Vodooo! Luis -- 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