diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 16789490078f..b2cded5bf69c 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -10469,7 +10469,7 @@ static void btrfs_encoded_read_endio(struct btrfs_bio *bbio) */ WRITE_ONCE(priv->status, status); } - if (!atomic_dec_return(&priv->pending)) + if (atomic_dec_and_test(&priv->pending)) wake_up(&priv->wait); btrfs_bio_free_csum(bbio); bio_put(&bbio->bio);