Make verity_finish_io() call verity_fec_finish_io() unconditionally,
instead of skipping it when 'in_bh' is true.

Although FEC can't have been done when 'in_bh' is true,
verity_fec_finish_io() is a no-op when FEC wasn't done.  An earlier
change also made verity_fec_finish_io() very lightweight when FEC wasn't
done.  So it should just be called unconditionally.

Reviewed-by: Sami Tolvanen <[email protected]>
Signed-off-by: Eric Biggers <[email protected]>
---
 drivers/md/dm-verity-target.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/md/dm-verity-target.c b/drivers/md/dm-verity-target.c
index 5c17472d7896..c9f5602a42c6 100644
--- a/drivers/md/dm-verity-target.c
+++ b/drivers/md/dm-verity-target.c
@@ -617,12 +617,11 @@ static void verity_finish_io(struct dm_verity_io *io, 
blk_status_t status)
        struct bio *bio = dm_bio_from_per_bio_data(io, v->ti->per_io_data_size);
 
        bio->bi_end_io = io->orig_bi_end_io;
        bio->bi_status = status;
 
-       if (!static_branch_unlikely(&use_bh_wq_enabled) || !io->in_bh)
-               verity_fec_finish_io(io);
+       verity_fec_finish_io(io);
 
        if (unlikely(status != BLK_STS_OK) &&
            unlikely(!(bio->bi_opf & REQ_RAHEAD)) &&
            !io->had_mismatch &&
            !verity_is_system_shutting_down()) {
-- 
2.52.0


Reply via email to