diff --git a/fs/afs/cell.c b/fs/afs/cell.c index 988c2ac7cececdfdf946eedc0f49c79533e76e99..926cb1188eba6c484a345b6e27fecfff48e4f3f9 100644 --- a/fs/afs/cell.c +++ b/fs/afs/cell.c @@ -409,10 +409,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: