mcexec_wait_syscall: requeue potential request on interrupted wait
Change-Id: Id7a324f18ebb8c81f05bd8362e19d9314a445308
This commit is contained in:
committed by
Dominique Martinet
parent
9d587dcbe8
commit
f6d8138e05
@@ -1317,20 +1317,18 @@ retry_alloc:
|
|||||||
ihk_ikc_spinlock_unlock(&ppd->wq_list_lock, irqflags);
|
ihk_ikc_spinlock_unlock(&ppd->wq_list_lock, irqflags);
|
||||||
|
|
||||||
if (ret == -ERESTARTSYS) {
|
if (ret == -ERESTARTSYS) {
|
||||||
/* Is the request valid? */
|
/* Requeue valid requests */
|
||||||
if (wqhln->req) {
|
if (wqhln->req) {
|
||||||
packet = wqhln->packet;
|
irqflags = ihk_ikc_spinlock_lock(&ppd->wq_list_lock);
|
||||||
kfree(wqhln);
|
list_add_tail(&wqhln->list, &ppd->wq_req_list);
|
||||||
wqhln = NULL;
|
ihk_ikc_spinlock_unlock(&ppd->wq_list_lock, irqflags);
|
||||||
ret = -EINTR;
|
|
||||||
goto put_ppd_out;
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
kfree(wqhln);
|
kfree(wqhln);
|
||||||
wqhln = NULL;
|
|
||||||
ret = -EINTR;
|
|
||||||
goto put_ppd_out;
|
|
||||||
}
|
}
|
||||||
|
wqhln = NULL;
|
||||||
|
ret = -EINTR;
|
||||||
|
goto put_ppd_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
packet = wqhln->packet;
|
packet = wqhln->packet;
|
||||||
|
|||||||
Reference in New Issue
Block a user