diff options
Diffstat (limited to 'lib/closure.c')
| -rw-r--r-- | lib/closure.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/closure.c b/lib/closure.c index f86c9eeafb35..c16540552d61 100644 --- a/lib/closure.c +++ b/lib/closure.c @@ -36,7 +36,7 @@ static inline void closure_put_after_sub(struct closure *cl, int flags)  			closure_debug_destroy(cl);  			if (destructor) -				destructor(cl); +				destructor(&cl->work);  			if (parent)  				closure_put(parent); @@ -108,8 +108,9 @@ struct closure_syncer {  	int			done;  }; -static void closure_sync_fn(struct closure *cl) +static CLOSURE_CALLBACK(closure_sync_fn)  { +	struct closure *cl = container_of(ws, struct closure, work);  	struct closure_syncer *s = cl->s;  	struct task_struct *p;  |