diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index eaf6b279accba..da02f4d8e4b95 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c @@ -2221,14 +2221,13 @@ static void crypt_dtr(struct dm_target *ti) bioset_exit(&cc->bs); - if (mempool_initialized(&cc->page_pool)) - WARN_ON(percpu_counter_sum(&cc->n_allocated_pages) != 0); - percpu_counter_destroy(&cc->n_allocated_pages); - mempool_exit(&cc->page_pool); mempool_exit(&cc->req_pool); mempool_exit(&cc->tag_pool); + WARN_ON(percpu_counter_sum(&cc->n_allocated_pages) != 0); + percpu_counter_destroy(&cc->n_allocated_pages); + if (cc->iv_gen_ops && cc->iv_gen_ops->dtr) cc->iv_gen_ops->dtr(cc);