Lines Matching refs:copy_block
342 struct copy_block_struct *copy_block; in cmf_copy_block_release() local
344 copy_block = container_of(kref, struct copy_block_struct, kref); in cmf_copy_block_release()
345 kfree(copy_block); in cmf_copy_block_release()
350 struct copy_block_struct *copy_block; in cmf_cmb_copy_wait() local
359 copy_block = kzalloc(sizeof(struct copy_block_struct), GFP_ATOMIC); in cmf_cmb_copy_wait()
360 if (!copy_block) { in cmf_cmb_copy_wait()
364 init_waitqueue_head(©_block->wait); in cmf_cmb_copy_wait()
365 kref_init(©_block->kref); in cmf_cmb_copy_wait()
377 copy_block->ret = CMF_PENDING; in cmf_cmb_copy_wait()
378 cdev->private->cmb_wait = copy_block; in cmf_cmb_copy_wait()
381 if (wait_event_interruptible(copy_block->wait, in cmf_cmb_copy_wait()
382 copy_block->ret != CMF_PENDING)) { in cmf_cmb_copy_wait()
384 if (copy_block->ret == CMF_PENDING) { in cmf_cmb_copy_wait()
385 copy_block->ret = -ERESTARTSYS; in cmf_cmb_copy_wait()
393 ret = copy_block->ret; in cmf_cmb_copy_wait()
395 kref_put(©_block->kref, cmf_copy_block_release); in cmf_cmb_copy_wait()
403 struct copy_block_struct *copy_block; in cmf_retry_copy_block() local
405 copy_block = cdev->private->cmb_wait; in cmf_retry_copy_block()
406 if (!copy_block) { in cmf_retry_copy_block()
410 kref_get(©_block->kref); in cmf_retry_copy_block()
411 copy_block->ret = cmf_copy_block(cdev); in cmf_retry_copy_block()
412 wake_up(©_block->wait); in cmf_retry_copy_block()
413 kref_put(©_block->kref, cmf_copy_block_release); in cmf_retry_copy_block()