diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index 8b9471904f67e8a93b2781dc54339d3f06ce697e..cb70f0c6aa1b756712d7bfcf8b554f8a36c7357c 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c @@ -2051,8 +2051,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;