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