mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 23:51:39 +00:00
cifs: Make add_credits_and_wake_if() clear deducted credits
Make add_credits_and_wake_if() clear the amount of credits in the cifs_credits struct after it has returned them to the overall counter. This allows add_credits_and_wake_if() to be called multiple times during the error handling and cleanup without accidentally returning the credits again and again. Note that the wake_up() in add_credits_and_wake_if() may also be superfluous as ->add_credits() also does a wake on the request_q. Signed-off-by: David Howells <dhowells@redhat.com> cc: Steve French <sfrench@samba.org> cc: Shyam Prasad N <nspmangalore@gmail.com> cc: Rohith Surabattula <rohiths.msft@gmail.com> cc: Jeff Layton <jlayton@kernel.org> cc: linux-cifs@vger.kernel.org cc: netfs@lists.linux.dev cc: linux-fsdevel@vger.kernel.org
This commit is contained in:
parent
edea94a697
commit
c20c0d7325
@ -881,11 +881,12 @@ add_credits(struct TCP_Server_Info *server, const struct cifs_credits *credits,
|
|||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
add_credits_and_wake_if(struct TCP_Server_Info *server,
|
add_credits_and_wake_if(struct TCP_Server_Info *server,
|
||||||
const struct cifs_credits *credits, const int optype)
|
struct cifs_credits *credits, const int optype)
|
||||||
{
|
{
|
||||||
if (credits->value) {
|
if (credits->value) {
|
||||||
server->ops->add_credits(server, credits, optype);
|
server->ops->add_credits(server, credits, optype);
|
||||||
wake_up(&server->request_q);
|
wake_up(&server->request_q);
|
||||||
|
credits->value = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user