diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index ed38f5a793d0b8dd9182a3e6cd0d22e6a6e6d24b..ef9e80928f2a68fd5ac2207dfb53abd4852aa134 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -2964,12 +2964,13 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata, } out: - if (opendata->lgp) { - nfs4_lgopen_release(opendata->lgp); - opendata->lgp = NULL; - } - if (!opendata->cancelled) + if (!opendata->cancelled) { + if (opendata->lgp) { + nfs4_lgopen_release(opendata->lgp); + opendata->lgp = NULL; + } nfs4_sequence_free_slot(&opendata->o_res.seq_res); + } return ret; }