Lines Matching refs:pre_req
2038 struct ufshpb_req *pre_req = NULL, *t; in ufshpb_pre_req_mempool_init() local
2044 hpb->pre_req = kcalloc(qd, sizeof(struct ufshpb_req), GFP_KERNEL); in ufshpb_pre_req_mempool_init()
2048 if (!hpb->pre_req) in ufshpb_pre_req_mempool_init()
2052 pre_req = hpb->pre_req + i; in ufshpb_pre_req_mempool_init()
2053 INIT_LIST_HEAD(&pre_req->list_req); in ufshpb_pre_req_mempool_init()
2054 pre_req->req = NULL; in ufshpb_pre_req_mempool_init()
2056 pre_req->bio = bio_alloc(GFP_KERNEL, 1); in ufshpb_pre_req_mempool_init()
2057 if (!pre_req->bio) in ufshpb_pre_req_mempool_init()
2060 pre_req->wb.m_page = alloc_page(GFP_KERNEL | __GFP_ZERO); in ufshpb_pre_req_mempool_init()
2061 if (!pre_req->wb.m_page) { in ufshpb_pre_req_mempool_init()
2062 bio_put(pre_req->bio); in ufshpb_pre_req_mempool_init()
2066 list_add_tail(&pre_req->list_req, &hpb->lh_pre_req_free); in ufshpb_pre_req_mempool_init()
2071 list_for_each_entry_safe(pre_req, t, &hpb->lh_pre_req_free, list_req) { in ufshpb_pre_req_mempool_init()
2072 list_del_init(&pre_req->list_req); in ufshpb_pre_req_mempool_init()
2073 bio_put(pre_req->bio); in ufshpb_pre_req_mempool_init()
2074 __free_page(pre_req->wb.m_page); in ufshpb_pre_req_mempool_init()
2077 kfree(hpb->pre_req); in ufshpb_pre_req_mempool_init()
2083 struct ufshpb_req *pre_req = NULL; in ufshpb_pre_req_mempool_destroy() local
2087 pre_req = hpb->pre_req + i; in ufshpb_pre_req_mempool_destroy()
2088 bio_put(hpb->pre_req[i].bio); in ufshpb_pre_req_mempool_destroy()
2089 if (!pre_req->wb.m_page) in ufshpb_pre_req_mempool_destroy()
2090 __free_page(hpb->pre_req[i].wb.m_page); in ufshpb_pre_req_mempool_destroy()
2091 list_del_init(&pre_req->list_req); in ufshpb_pre_req_mempool_destroy()
2094 kfree(hpb->pre_req); in ufshpb_pre_req_mempool_destroy()