bio_put(&bbio->bio);
 }
 
-static void __btrfs_bio_end_io(struct btrfs_bio *bbio)
-{
-       if (bbio_has_ordered_extent(bbio)) {
-               struct btrfs_ordered_extent *ordered = bbio->ordered;
-
-               bbio->end_io(bbio);
-               btrfs_put_ordered_extent(ordered);
-       } else {
-               bbio->end_io(bbio);
-       }
-}
-
 void btrfs_bio_end_io(struct btrfs_bio *bbio, blk_status_t status)
 {
        bbio->bio.bi_status = status;
                /* Load split bio's error which might be set above. */
                if (status == BLK_STS_OK)
                        bbio->bio.bi_status = READ_ONCE(bbio->status);
-               __btrfs_bio_end_io(bbio);
+
+               if (bbio_has_ordered_extent(bbio)) {
+                       struct btrfs_ordered_extent *ordered = bbio->ordered;
+
+                       bbio->end_io(bbio);
+                       btrfs_put_ordered_extent(ordered);
+               } else {
+                       bbio->end_io(bbio);
+               }
        }
 }