Lines Matching refs:cmgr

213 	struct bnx2fc_cmd_mgr *cmgr;  in bnx2fc_cmd_mgr_alloc()  local
237 cmgr = kzalloc(len, GFP_KERNEL); in bnx2fc_cmd_mgr_alloc()
238 if (!cmgr) { in bnx2fc_cmd_mgr_alloc()
243 cmgr->hba = hba; in bnx2fc_cmd_mgr_alloc()
244 cmgr->free_list = kcalloc(arr_sz, sizeof(*cmgr->free_list), in bnx2fc_cmd_mgr_alloc()
246 if (!cmgr->free_list) { in bnx2fc_cmd_mgr_alloc()
251 cmgr->free_list_lock = kcalloc(arr_sz, sizeof(*cmgr->free_list_lock), in bnx2fc_cmd_mgr_alloc()
253 if (!cmgr->free_list_lock) { in bnx2fc_cmd_mgr_alloc()
255 kfree(cmgr->free_list); in bnx2fc_cmd_mgr_alloc()
256 cmgr->free_list = NULL; in bnx2fc_cmd_mgr_alloc()
260 cmgr->cmds = (struct bnx2fc_cmd **)(cmgr + 1); in bnx2fc_cmd_mgr_alloc()
263 INIT_LIST_HEAD(&cmgr->free_list[i]); in bnx2fc_cmd_mgr_alloc()
264 spin_lock_init(&cmgr->free_list_lock[i]); in bnx2fc_cmd_mgr_alloc()
288 &cmgr->free_list[io_req->xid % in bnx2fc_cmd_mgr_alloc()
292 &cmgr->free_list[num_possible_cpus()]); in bnx2fc_cmd_mgr_alloc()
298 cmgr->io_bdt_pool = kzalloc(mem_size, GFP_KERNEL); in bnx2fc_cmd_mgr_alloc()
299 if (!cmgr->io_bdt_pool) { in bnx2fc_cmd_mgr_alloc()
306 cmgr->io_bdt_pool[i] = kmalloc(mem_size, GFP_KERNEL); in bnx2fc_cmd_mgr_alloc()
307 if (!cmgr->io_bdt_pool[i]) { in bnx2fc_cmd_mgr_alloc()
317 bdt_info = cmgr->io_bdt_pool[i]; in bnx2fc_cmd_mgr_alloc()
329 return cmgr; in bnx2fc_cmd_mgr_alloc()
332 bnx2fc_cmd_mgr_free(cmgr); in bnx2fc_cmd_mgr_alloc()
336 void bnx2fc_cmd_mgr_free(struct bnx2fc_cmd_mgr *cmgr) in bnx2fc_cmd_mgr_free() argument
339 struct bnx2fc_hba *hba = cmgr->hba; in bnx2fc_cmd_mgr_free()
349 if (!cmgr->io_bdt_pool) in bnx2fc_cmd_mgr_free()
354 bdt_info = cmgr->io_bdt_pool[i]; in bnx2fc_cmd_mgr_free()
365 kfree(cmgr->io_bdt_pool[i]); in bnx2fc_cmd_mgr_free()
366 cmgr->io_bdt_pool[i] = NULL; in bnx2fc_cmd_mgr_free()
369 kfree(cmgr->io_bdt_pool); in bnx2fc_cmd_mgr_free()
370 cmgr->io_bdt_pool = NULL; in bnx2fc_cmd_mgr_free()
373 kfree(cmgr->free_list_lock); in bnx2fc_cmd_mgr_free()
376 if (!cmgr->free_list) in bnx2fc_cmd_mgr_free()
383 &cmgr->free_list[i], link) { in bnx2fc_cmd_mgr_free()
388 kfree(cmgr->free_list); in bnx2fc_cmd_mgr_free()
391 kfree(cmgr); in bnx2fc_cmd_mgr_free()