diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index 182b864b3075bdd1f0b079f9047c8a0f4a5d796d..5014a82391ff92987517a43cc7188cba7670bd32 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c @@ -2152,8 +2152,8 @@ cifs_writev_requeue(struct cifs_writedata *wdata) } } + kref_put(&wdata2->refcount, cifs_writedata_release); if (rc) { - kref_put(&wdata2->refcount, cifs_writedata_release); if (is_retryable_error(rc)) continue; i += nr_pages;