• Home
  • Raw
  • Download

Lines Matching refs:fibctx

183 	struct aac_fib_context * fibctx;  in open_getadapter_fib()  local
186 fibctx = kmalloc(sizeof(struct aac_fib_context), GFP_KERNEL); in open_getadapter_fib()
187 if (fibctx == NULL) { in open_getadapter_fib()
194 fibctx->type = FSAFS_NTC_GET_ADAPTER_FIB_CONTEXT; in open_getadapter_fib()
195 fibctx->size = sizeof(struct aac_fib_context); in open_getadapter_fib()
202 fibctx->unique = (u32)((ulong)fibctx & 0xFFFFFFFF); in open_getadapter_fib()
206 sema_init(&fibctx->wait_sem, 0); in open_getadapter_fib()
207 fibctx->wait = 0; in open_getadapter_fib()
212 fibctx->count = 0; in open_getadapter_fib()
213 INIT_LIST_HEAD(&fibctx->fib_list); in open_getadapter_fib()
214 fibctx->jiffies = jiffies/HZ; in open_getadapter_fib()
224 if (context->unique == fibctx->unique) { in open_getadapter_fib()
226 fibctx->unique++; in open_getadapter_fib()
232 list_add_tail(&fibctx->next, &dev->fib_list); in open_getadapter_fib()
234 if (copy_to_user(arg, &fibctx->unique, in open_getadapter_fib()
235 sizeof(fibctx->unique))) { in open_getadapter_fib()
257 struct aac_fib_context *fibctx; in next_getadapter_fib() local
272 fibctx = NULL; in next_getadapter_fib()
275 fibctx = list_entry(entry, struct aac_fib_context, next); in next_getadapter_fib()
279 if (fibctx->unique == f.fibctx) { /* We found a winner */ in next_getadapter_fib()
283 fibctx = NULL; in next_getadapter_fib()
285 if (!fibctx) { in next_getadapter_fib()
291 if((fibctx->type != FSAFS_NTC_GET_ADAPTER_FIB_CONTEXT) || in next_getadapter_fib()
292 (fibctx->size != sizeof(struct aac_fib_context))) { in next_getadapter_fib()
303 if (!list_empty(&fibctx->fib_list)) { in next_getadapter_fib()
307 entry = fibctx->fib_list.next; in next_getadapter_fib()
311 fibctx->count--; in next_getadapter_fib()
338 if(down_interruptible(&fibctx->wait_sem) < 0) { in next_getadapter_fib()
349 fibctx->jiffies = jiffies/HZ; in next_getadapter_fib()
353 int aac_close_fib_context(struct aac_dev * dev, struct aac_fib_context * fibctx) in aac_close_fib_context() argument
360 while (!list_empty(&fibctx->fib_list)) { in aac_close_fib_context()
365 entry = fibctx->fib_list.next; in aac_close_fib_context()
368 fibctx->count--; in aac_close_fib_context()
378 list_del(&fibctx->next); in aac_close_fib_context()
382 fibctx->type = 0; in aac_close_fib_context()
386 kfree(fibctx); in aac_close_fib_context()
400 struct aac_fib_context *fibctx; in close_getadapter_fib() local
413 fibctx = NULL; in close_getadapter_fib()
416 fibctx = list_entry(entry, struct aac_fib_context, next); in close_getadapter_fib()
420 if (fibctx->unique == (u32)(uintptr_t)arg) /* We found a winner */ in close_getadapter_fib()
423 fibctx = NULL; in close_getadapter_fib()
426 if (!fibctx) in close_getadapter_fib()
429 if((fibctx->type != FSAFS_NTC_GET_ADAPTER_FIB_CONTEXT) || in close_getadapter_fib()
430 (fibctx->size != sizeof(struct aac_fib_context))) in close_getadapter_fib()
433 status = aac_close_fib_context(dev, fibctx); in close_getadapter_fib()