Lines Matching refs:pre_req
2036 struct ufshpb_req *pre_req = NULL, *t; in ufshpb_pre_req_mempool_init() local
2042 hpb->pre_req = kcalloc(qd, sizeof(struct ufshpb_req), GFP_KERNEL); in ufshpb_pre_req_mempool_init()
2046 if (!hpb->pre_req) in ufshpb_pre_req_mempool_init()
2050 pre_req = hpb->pre_req + i; in ufshpb_pre_req_mempool_init()
2051 INIT_LIST_HEAD(&pre_req->list_req); in ufshpb_pre_req_mempool_init()
2052 pre_req->req = NULL; in ufshpb_pre_req_mempool_init()
2054 pre_req->bio = bio_alloc(GFP_KERNEL, 1); in ufshpb_pre_req_mempool_init()
2055 if (!pre_req->bio) in ufshpb_pre_req_mempool_init()
2058 pre_req->wb.m_page = alloc_page(GFP_KERNEL | __GFP_ZERO); in ufshpb_pre_req_mempool_init()
2059 if (!pre_req->wb.m_page) { in ufshpb_pre_req_mempool_init()
2060 bio_put(pre_req->bio); in ufshpb_pre_req_mempool_init()
2064 list_add_tail(&pre_req->list_req, &hpb->lh_pre_req_free); in ufshpb_pre_req_mempool_init()
2069 list_for_each_entry_safe(pre_req, t, &hpb->lh_pre_req_free, list_req) { in ufshpb_pre_req_mempool_init()
2070 list_del_init(&pre_req->list_req); in ufshpb_pre_req_mempool_init()
2071 bio_put(pre_req->bio); in ufshpb_pre_req_mempool_init()
2072 __free_page(pre_req->wb.m_page); in ufshpb_pre_req_mempool_init()
2075 kfree(hpb->pre_req); in ufshpb_pre_req_mempool_init()
2081 struct ufshpb_req *pre_req = NULL; in ufshpb_pre_req_mempool_destroy() local
2085 pre_req = hpb->pre_req + i; in ufshpb_pre_req_mempool_destroy()
2086 bio_put(hpb->pre_req[i].bio); in ufshpb_pre_req_mempool_destroy()
2087 if (!pre_req->wb.m_page) in ufshpb_pre_req_mempool_destroy()
2088 __free_page(hpb->pre_req[i].wb.m_page); in ufshpb_pre_req_mempool_destroy()
2089 list_del_init(&pre_req->list_req); in ufshpb_pre_req_mempool_destroy()
2092 kfree(hpb->pre_req); in ufshpb_pre_req_mempool_destroy()