Thread (8 messages) flat view 8 messages, 5 authors, 2006-12-11

Re: [PATCH] ieee80211softmac: Fix errors related to the work_struct changes

From: Andrew Morton <hidden>
Date: 2006-12-10 18:42:31

On Sun, 10 Dec 2006 19:35:36 +0100
Ulrich Kunitz [off-list ref] wrote:
The problem is that you there are now different work structures:
struct work_struct and struct delayed_work. The quick fix seems to
have been to change all old work_structs as associnfo's work to
delayed_work. The way the structures are designed calling
schedule_work or schedule_delayed_work doesn't matter, but you
will get a gcc warning, because the pointer types are not
identical. This change works around the warning in the same way as
the other schedule_work calls for associnfo's work.
David proposed the below.  Does it fix things for you?
--- a/net/ieee80211/softmac/ieee80211softmac_assoc.c~workstruct-fix-ieee80211-softmac-compile-problem
+++ a/net/ieee80211/softmac/ieee80211softmac_assoc.c
@@ -438,7 +438,7 @@ ieee80211softmac_try_reassoc(struct ieee
 
 	spin_lock_irqsave(&mac->lock, flags);
 	mac->associnfo.associating = 1;
-	schedule_work(&mac->associnfo.work);
+	schedule_delayed_work(&mac->associnfo.work, 0);
 	spin_unlock_irqrestore(&mac->lock, flags);
 }
 
_
I'm not sure, whether the breaking of the workqueue API is really
worth it. What I see is that the change introduced choices and
choices make things more complex.
It is kinda sucky.  But it saves a bit of space in kernel data structures.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help