diff options
Diffstat (limited to 'drivers/infiniband/core/cache.c')
| -rw-r--r-- | drivers/infiniband/core/cache.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/infiniband/core/cache.c b/drivers/infiniband/core/cache.c index 20e9f64e67a..98272fbbfb3 100644 --- a/drivers/infiniband/core/cache.c +++ b/drivers/infiniband/core/cache.c @@ -285,9 +285,10 @@ err:  	kfree(tprops);  } -static void ib_cache_task(void *work_ptr) +static void ib_cache_task(struct work_struct *_work)  { -	struct ib_update_work *work = work_ptr; +	struct ib_update_work *work = +		container_of(_work, struct ib_update_work, work);  	ib_cache_update(work->device, work->port_num);  	kfree(work); @@ -306,7 +307,7 @@ static void ib_cache_event(struct ib_event_handler *handler,  	    event->event == IB_EVENT_CLIENT_REREGISTER) {  		work = kmalloc(sizeof *work, GFP_ATOMIC);  		if (work) { -			INIT_WORK(&work->work, ib_cache_task, work); +			INIT_WORK(&work->work, ib_cache_task);  			work->device   = event->device;  			work->port_num = event->element.port_num;  			schedule_work(&work->work);  |