• Home
  • Raw
  • Download

Lines Matching refs:fibctx

180 	struct aac_fib_context * fibctx;  in open_getadapter_fib()  local
183 fibctx = kmalloc(sizeof(struct aac_fib_context), GFP_KERNEL); in open_getadapter_fib()
184 if (fibctx == NULL) { in open_getadapter_fib()
191 fibctx->type = FSAFS_NTC_GET_ADAPTER_FIB_CONTEXT; in open_getadapter_fib()
192 fibctx->size = sizeof(struct aac_fib_context); in open_getadapter_fib()
199 fibctx->unique = (u32)((ulong)fibctx & 0xFFFFFFFF); in open_getadapter_fib()
203 sema_init(&fibctx->wait_sem, 0); in open_getadapter_fib()
204 fibctx->wait = 0; in open_getadapter_fib()
209 fibctx->count = 0; in open_getadapter_fib()
210 INIT_LIST_HEAD(&fibctx->fib_list); in open_getadapter_fib()
211 fibctx->jiffies = jiffies/HZ; in open_getadapter_fib()
221 if (context->unique == fibctx->unique) { in open_getadapter_fib()
223 fibctx->unique++; in open_getadapter_fib()
229 list_add_tail(&fibctx->next, &dev->fib_list); in open_getadapter_fib()
231 if (copy_to_user(arg, &fibctx->unique, in open_getadapter_fib()
232 sizeof(fibctx->unique))) { in open_getadapter_fib()
254 struct aac_fib_context *fibctx; in next_getadapter_fib() local
269 fibctx = NULL; in next_getadapter_fib()
272 fibctx = list_entry(entry, struct aac_fib_context, next); in next_getadapter_fib()
276 if (fibctx->unique == f.fibctx) { /* We found a winner */ in next_getadapter_fib()
280 fibctx = NULL; in next_getadapter_fib()
282 if (!fibctx) { in next_getadapter_fib()
288 if((fibctx->type != FSAFS_NTC_GET_ADAPTER_FIB_CONTEXT) || in next_getadapter_fib()
289 (fibctx->size != sizeof(struct aac_fib_context))) { in next_getadapter_fib()
300 if (!list_empty(&fibctx->fib_list)) { in next_getadapter_fib()
304 entry = fibctx->fib_list.next; in next_getadapter_fib()
308 fibctx->count--; in next_getadapter_fib()
335 if(down_interruptible(&fibctx->wait_sem) < 0) { in next_getadapter_fib()
346 fibctx->jiffies = jiffies/HZ; in next_getadapter_fib()
350 int aac_close_fib_context(struct aac_dev * dev, struct aac_fib_context * fibctx) in aac_close_fib_context() argument
357 while (!list_empty(&fibctx->fib_list)) { in aac_close_fib_context()
362 entry = fibctx->fib_list.next; in aac_close_fib_context()
365 fibctx->count--; in aac_close_fib_context()
375 list_del(&fibctx->next); in aac_close_fib_context()
379 fibctx->type = 0; in aac_close_fib_context()
383 kfree(fibctx); in aac_close_fib_context()
397 struct aac_fib_context *fibctx; in close_getadapter_fib() local
410 fibctx = NULL; in close_getadapter_fib()
413 fibctx = list_entry(entry, struct aac_fib_context, next); in close_getadapter_fib()
417 if (fibctx->unique == (u32)(uintptr_t)arg) /* We found a winner */ in close_getadapter_fib()
420 fibctx = NULL; in close_getadapter_fib()
423 if (!fibctx) in close_getadapter_fib()
426 if((fibctx->type != FSAFS_NTC_GET_ADAPTER_FIB_CONTEXT) || in close_getadapter_fib()
427 (fibctx->size != sizeof(struct aac_fib_context))) in close_getadapter_fib()
430 status = aac_close_fib_context(dev, fibctx); in close_getadapter_fib()