Lines Matching refs:cmgr
245 struct bnx2fc_cmd_mgr *cmgr; in bnx2fc_cmd_mgr_alloc() local
269 cmgr = kzalloc(len, GFP_KERNEL); in bnx2fc_cmd_mgr_alloc()
270 if (!cmgr) { in bnx2fc_cmd_mgr_alloc()
275 cmgr->free_list = kzalloc(sizeof(*cmgr->free_list) * in bnx2fc_cmd_mgr_alloc()
277 if (!cmgr->free_list) { in bnx2fc_cmd_mgr_alloc()
282 cmgr->free_list_lock = kzalloc(sizeof(*cmgr->free_list_lock) * in bnx2fc_cmd_mgr_alloc()
284 if (!cmgr->free_list_lock) { in bnx2fc_cmd_mgr_alloc()
286 kfree(cmgr->free_list); in bnx2fc_cmd_mgr_alloc()
287 cmgr->free_list = NULL; in bnx2fc_cmd_mgr_alloc()
291 cmgr->hba = hba; in bnx2fc_cmd_mgr_alloc()
292 cmgr->cmds = (struct bnx2fc_cmd **)(cmgr + 1); in bnx2fc_cmd_mgr_alloc()
295 INIT_LIST_HEAD(&cmgr->free_list[i]); in bnx2fc_cmd_mgr_alloc()
296 spin_lock_init(&cmgr->free_list_lock[i]); in bnx2fc_cmd_mgr_alloc()
320 &cmgr->free_list[io_req->xid % in bnx2fc_cmd_mgr_alloc()
324 &cmgr->free_list[num_possible_cpus()]); in bnx2fc_cmd_mgr_alloc()
330 cmgr->io_bdt_pool = kmalloc(mem_size, GFP_KERNEL); in bnx2fc_cmd_mgr_alloc()
331 if (!cmgr->io_bdt_pool) { in bnx2fc_cmd_mgr_alloc()
338 cmgr->io_bdt_pool[i] = kmalloc(mem_size, GFP_KERNEL); in bnx2fc_cmd_mgr_alloc()
339 if (!cmgr->io_bdt_pool[i]) { in bnx2fc_cmd_mgr_alloc()
349 bdt_info = cmgr->io_bdt_pool[i]; in bnx2fc_cmd_mgr_alloc()
361 return cmgr; in bnx2fc_cmd_mgr_alloc()
364 bnx2fc_cmd_mgr_free(cmgr); in bnx2fc_cmd_mgr_alloc()
368 void bnx2fc_cmd_mgr_free(struct bnx2fc_cmd_mgr *cmgr) in bnx2fc_cmd_mgr_free() argument
371 struct bnx2fc_hba *hba = cmgr->hba; in bnx2fc_cmd_mgr_free()
381 if (!cmgr->io_bdt_pool) in bnx2fc_cmd_mgr_free()
386 bdt_info = cmgr->io_bdt_pool[i]; in bnx2fc_cmd_mgr_free()
397 kfree(cmgr->io_bdt_pool[i]); in bnx2fc_cmd_mgr_free()
398 cmgr->io_bdt_pool[i] = NULL; in bnx2fc_cmd_mgr_free()
401 kfree(cmgr->io_bdt_pool); in bnx2fc_cmd_mgr_free()
402 cmgr->io_bdt_pool = NULL; in bnx2fc_cmd_mgr_free()
405 kfree(cmgr->free_list_lock); in bnx2fc_cmd_mgr_free()
408 if (!cmgr->free_list) in bnx2fc_cmd_mgr_free()
415 &cmgr->free_list[i], link) { in bnx2fc_cmd_mgr_free()
420 kfree(cmgr->free_list); in bnx2fc_cmd_mgr_free()
423 kfree(cmgr); in bnx2fc_cmd_mgr_free()