diff --git a/fs/afs/cell.c b/fs/afs/cell.c index 296b489861a9a831be2e52a2cf5479906da1b01d..1522fadd8d2d24fd426fb2f427ea0b5843652262 100644 --- a/fs/afs/cell.c +++ b/fs/afs/cell.c @@ -404,10 +404,12 @@ static int afs_update_cell(struct afs_cell *cell) if (ret == -ENOMEM) goto out_wake; - ret = -ENOMEM; vllist = afs_alloc_vlserver_list(0); - if (!vllist) + if (!vllist) { + if (ret >= 0) + ret = -ENOMEM; goto out_wake; + } switch (ret) { case -ENODATA: