Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9378b274 authored by Chuck Lever's avatar Chuck Lever Committed by Anna Schumaker
Browse files

xprtrdma: Cancel refresh worker during buffer shutdown



Trying to create MRs while the transport is being torn down can
cause a crash.

Fixes: e2ac236c ("xprtrdma: Allocate MRs on demand")
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent 39da7c50
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -1037,6 +1037,7 @@ void
rpcrdma_buffer_destroy(struct rpcrdma_buffer *buf)
rpcrdma_buffer_destroy(struct rpcrdma_buffer *buf)
{
{
	cancel_delayed_work_sync(&buf->rb_recovery_worker);
	cancel_delayed_work_sync(&buf->rb_recovery_worker);
	cancel_delayed_work_sync(&buf->rb_refresh_worker);


	while (!list_empty(&buf->rb_recv_bufs)) {
	while (!list_empty(&buf->rb_recv_bufs)) {
		struct rpcrdma_rep *rep;
		struct rpcrdma_rep *rep;