|
@@ -2074,11 +2074,12 @@ sg_get_rq_mark(Sg_fd * sfp, int pack_id)
|
|
|
if ((1 == resp->done) && (!resp->sg_io_owned) &&
|
|
|
((-1 == pack_id) || (resp->header.pack_id == pack_id))) {
|
|
|
resp->done = 2; /* guard against other readers */
|
|
|
- break;
|
|
|
+ write_unlock_irqrestore(&sfp->rq_list_lock, iflags);
|
|
|
+ return resp;
|
|
|
}
|
|
|
}
|
|
|
write_unlock_irqrestore(&sfp->rq_list_lock, iflags);
|
|
|
- return resp;
|
|
|
+ return NULL;
|
|
|
}
|
|
|
|
|
|
/* always adds to end of list */
|