Lines Matching refs:fibctx

168 	struct aac_fib_context * fibctx;  in open_getadapter_fib()  local
171 fibctx = kmalloc(sizeof(struct aac_fib_context), GFP_KERNEL); in open_getadapter_fib()
172 if (fibctx == NULL) { in open_getadapter_fib()
179 fibctx->type = FSAFS_NTC_GET_ADAPTER_FIB_CONTEXT; in open_getadapter_fib()
180 fibctx->size = sizeof(struct aac_fib_context); in open_getadapter_fib()
187 fibctx->unique = (u32)((ulong)fibctx & 0xFFFFFFFF); in open_getadapter_fib()
191 init_completion(&fibctx->completion); in open_getadapter_fib()
192 fibctx->wait = 0; in open_getadapter_fib()
197 fibctx->count = 0; in open_getadapter_fib()
198 INIT_LIST_HEAD(&fibctx->fib_list); in open_getadapter_fib()
199 fibctx->jiffies = jiffies/HZ; in open_getadapter_fib()
209 if (context->unique == fibctx->unique) { in open_getadapter_fib()
211 fibctx->unique++; in open_getadapter_fib()
217 list_add_tail(&fibctx->next, &dev->fib_list); in open_getadapter_fib()
219 if (copy_to_user(arg, &fibctx->unique, in open_getadapter_fib()
220 sizeof(fibctx->unique))) { in open_getadapter_fib()
241 struct aac_fib_context *fibctx; in next_getadapter_fib() local
256 fibctx = NULL; in next_getadapter_fib()
259 fibctx = list_entry(entry, struct aac_fib_context, next); in next_getadapter_fib()
263 if (fibctx->unique == f.fibctx) { /* We found a winner */ in next_getadapter_fib()
267 fibctx = NULL; in next_getadapter_fib()
269 if (!fibctx) { in next_getadapter_fib()
275 if((fibctx->type != FSAFS_NTC_GET_ADAPTER_FIB_CONTEXT) || in next_getadapter_fib()
276 (fibctx->size != sizeof(struct aac_fib_context))) { in next_getadapter_fib()
287 if (!list_empty(&fibctx->fib_list)) { in next_getadapter_fib()
291 entry = fibctx->fib_list.next; in next_getadapter_fib()
295 fibctx->count--; in next_getadapter_fib()
322 if (wait_for_completion_interruptible(&fibctx->completion) < 0) { in next_getadapter_fib()
333 fibctx->jiffies = jiffies/HZ; in next_getadapter_fib()
337 int aac_close_fib_context(struct aac_dev * dev, struct aac_fib_context * fibctx) in aac_close_fib_context() argument
344 while (!list_empty(&fibctx->fib_list)) { in aac_close_fib_context()
349 entry = fibctx->fib_list.next; in aac_close_fib_context()
352 fibctx->count--; in aac_close_fib_context()
362 list_del(&fibctx->next); in aac_close_fib_context()
366 fibctx->type = 0; in aac_close_fib_context()
370 kfree(fibctx); in aac_close_fib_context()
384 struct aac_fib_context *fibctx; in close_getadapter_fib() local
397 fibctx = NULL; in close_getadapter_fib()
400 fibctx = list_entry(entry, struct aac_fib_context, next); in close_getadapter_fib()
404 if (fibctx->unique == (u32)(uintptr_t)arg) /* We found a winner */ in close_getadapter_fib()
407 fibctx = NULL; in close_getadapter_fib()
410 if (!fibctx) in close_getadapter_fib()
413 if((fibctx->type != FSAFS_NTC_GET_ADAPTER_FIB_CONTEXT) || in close_getadapter_fib()
414 (fibctx->size != sizeof(struct aac_fib_context))) in close_getadapter_fib()
417 status = aac_close_fib_context(dev, fibctx); in close_getadapter_fib()