Lines Matching refs:cmgr

200 	struct bnx2fc_cmd_mgr *cmgr;  in bnx2fc_cmd_mgr_alloc()  local
224 cmgr = kzalloc(len, GFP_KERNEL); in bnx2fc_cmd_mgr_alloc()
225 if (!cmgr) { in bnx2fc_cmd_mgr_alloc()
230 cmgr->free_list = kzalloc(sizeof(*cmgr->free_list) * in bnx2fc_cmd_mgr_alloc()
232 if (!cmgr->free_list) { in bnx2fc_cmd_mgr_alloc()
237 cmgr->free_list_lock = kzalloc(sizeof(*cmgr->free_list_lock) * in bnx2fc_cmd_mgr_alloc()
239 if (!cmgr->free_list_lock) { in bnx2fc_cmd_mgr_alloc()
241 kfree(cmgr->free_list); in bnx2fc_cmd_mgr_alloc()
242 cmgr->free_list = NULL; in bnx2fc_cmd_mgr_alloc()
246 cmgr->hba = hba; in bnx2fc_cmd_mgr_alloc()
247 cmgr->cmds = (struct bnx2fc_cmd **)(cmgr + 1); in bnx2fc_cmd_mgr_alloc()
250 INIT_LIST_HEAD(&cmgr->free_list[i]); in bnx2fc_cmd_mgr_alloc()
251 spin_lock_init(&cmgr->free_list_lock[i]); in bnx2fc_cmd_mgr_alloc()
275 &cmgr->free_list[io_req->xid % in bnx2fc_cmd_mgr_alloc()
279 &cmgr->free_list[num_possible_cpus()]); in bnx2fc_cmd_mgr_alloc()
285 cmgr->io_bdt_pool = kmalloc(mem_size, GFP_KERNEL); in bnx2fc_cmd_mgr_alloc()
286 if (!cmgr->io_bdt_pool) { in bnx2fc_cmd_mgr_alloc()
293 cmgr->io_bdt_pool[i] = kmalloc(mem_size, GFP_KERNEL); in bnx2fc_cmd_mgr_alloc()
294 if (!cmgr->io_bdt_pool[i]) { in bnx2fc_cmd_mgr_alloc()
304 bdt_info = cmgr->io_bdt_pool[i]; in bnx2fc_cmd_mgr_alloc()
316 return cmgr; in bnx2fc_cmd_mgr_alloc()
319 bnx2fc_cmd_mgr_free(cmgr); in bnx2fc_cmd_mgr_alloc()
323 void bnx2fc_cmd_mgr_free(struct bnx2fc_cmd_mgr *cmgr) in bnx2fc_cmd_mgr_free() argument
326 struct bnx2fc_hba *hba = cmgr->hba; in bnx2fc_cmd_mgr_free()
336 if (!cmgr->io_bdt_pool) in bnx2fc_cmd_mgr_free()
341 bdt_info = cmgr->io_bdt_pool[i]; in bnx2fc_cmd_mgr_free()
352 kfree(cmgr->io_bdt_pool[i]); in bnx2fc_cmd_mgr_free()
353 cmgr->io_bdt_pool[i] = NULL; in bnx2fc_cmd_mgr_free()
356 kfree(cmgr->io_bdt_pool); in bnx2fc_cmd_mgr_free()
357 cmgr->io_bdt_pool = NULL; in bnx2fc_cmd_mgr_free()
360 kfree(cmgr->free_list_lock); in bnx2fc_cmd_mgr_free()
363 if (!cmgr->free_list) in bnx2fc_cmd_mgr_free()
370 &cmgr->free_list[i], link) { in bnx2fc_cmd_mgr_free()
375 kfree(cmgr->free_list); in bnx2fc_cmd_mgr_free()
378 kfree(cmgr); in bnx2fc_cmd_mgr_free()