Lines Matching refs:pre_req
2072 struct ufshpb_req *pre_req = NULL, *t; in ufshpb_pre_req_mempool_init() local
2078 hpb->pre_req = kcalloc(qd, sizeof(struct ufshpb_req), GFP_KERNEL); in ufshpb_pre_req_mempool_init()
2082 if (!hpb->pre_req) in ufshpb_pre_req_mempool_init()
2086 pre_req = hpb->pre_req + i; in ufshpb_pre_req_mempool_init()
2087 INIT_LIST_HEAD(&pre_req->list_req); in ufshpb_pre_req_mempool_init()
2088 pre_req->req = NULL; in ufshpb_pre_req_mempool_init()
2090 pre_req->bio = bio_alloc(NULL, 1, 0, GFP_KERNEL); in ufshpb_pre_req_mempool_init()
2091 if (!pre_req->bio) in ufshpb_pre_req_mempool_init()
2094 pre_req->wb.m_page = alloc_page(GFP_KERNEL | __GFP_ZERO); in ufshpb_pre_req_mempool_init()
2095 if (!pre_req->wb.m_page) { in ufshpb_pre_req_mempool_init()
2096 bio_put(pre_req->bio); in ufshpb_pre_req_mempool_init()
2100 list_add_tail(&pre_req->list_req, &hpb->lh_pre_req_free); in ufshpb_pre_req_mempool_init()
2105 list_for_each_entry_safe(pre_req, t, &hpb->lh_pre_req_free, list_req) { in ufshpb_pre_req_mempool_init()
2106 list_del_init(&pre_req->list_req); in ufshpb_pre_req_mempool_init()
2107 bio_put(pre_req->bio); in ufshpb_pre_req_mempool_init()
2108 __free_page(pre_req->wb.m_page); in ufshpb_pre_req_mempool_init()
2111 kfree(hpb->pre_req); in ufshpb_pre_req_mempool_init()
2117 struct ufshpb_req *pre_req = NULL; in ufshpb_pre_req_mempool_destroy() local
2121 pre_req = hpb->pre_req + i; in ufshpb_pre_req_mempool_destroy()
2122 bio_put(hpb->pre_req[i].bio); in ufshpb_pre_req_mempool_destroy()
2123 if (!pre_req->wb.m_page) in ufshpb_pre_req_mempool_destroy()
2124 __free_page(hpb->pre_req[i].wb.m_page); in ufshpb_pre_req_mempool_destroy()
2125 list_del_init(&pre_req->list_req); in ufshpb_pre_req_mempool_destroy()
2128 kfree(hpb->pre_req); in ufshpb_pre_req_mempool_destroy()