X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Fsmbfs%2Frequest.c;h=c71dd2760d3254da61b60a06ea2a9732837ea072;hb=1d77062b1402aef5b26e1d3776991126e8026bde;hp=c71c375863cc473a254462d8187365cecb302367;hpb=150a631fc55e33df28a6846371e7f86e9e75e8cb;p=~andy%2Flinux diff --git a/fs/smbfs/request.c b/fs/smbfs/request.c index c71c375863c..c71dd2760d3 100644 --- a/fs/smbfs/request.c +++ b/fs/smbfs/request.c @@ -339,9 +339,11 @@ int smb_add_request(struct smb_request *req) /* * On timeout or on interrupt we want to try and remove the * request from the recvq/xmitq. + * First check if the request is still part of a queue. (May + * have been removed by some error condition) */ smb_lock_server(server); - if (!(req->rq_flags & SMB_REQ_RECEIVED)) { + if (!list_empty(&req->rq_queue)) { list_del_init(&req->rq_queue); smb_rput(req); }