aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/vga/vgaarb.c
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2016-03-14 15:37:56 +0800
committerAlex Shi <alex.shi@linaro.org>2016-03-14 15:37:56 +0800
commit0f7fc48d4378ac087ef7e69a6e675b0d9280999e (patch)
treef0c005b00166eca0ce2648487cde89866447645f /drivers/gpu/vga/vgaarb.c
parent4fc0eccae84a29106ed944588ba641e9039ccfbc (diff)
parentfbb0b56de45bc81681eeeaec29e6c1e3ff12a200 (diff)
Merge branch 'linux-linaro-lsk-v3.10' into linux-linaro-lsk-v3.10-androidlsk-v3.10-16.03-androidlinux-linaro-lsk-v3.10-android
Diffstat (limited to 'drivers/gpu/vga/vgaarb.c')
-rw-r--r--drivers/gpu/vga/vgaarb.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/vga/vgaarb.c b/drivers/gpu/vga/vgaarb.c
index e893f6e1937d..3c84e96a485a 100644
--- a/drivers/gpu/vga/vgaarb.c
+++ b/drivers/gpu/vga/vgaarb.c
@@ -392,8 +392,10 @@ int vga_get(struct pci_dev *pdev, unsigned int rsrc, int interruptible)
set_current_state(interruptible ?
TASK_INTERRUPTIBLE :
TASK_UNINTERRUPTIBLE);
- if (signal_pending(current)) {
- rc = -EINTR;
+ if (interruptible && signal_pending(current)) {
+ __set_current_state(TASK_RUNNING);
+ remove_wait_queue(&vga_wait_queue, &wait);
+ rc = -ERESTARTSYS;
break;
}
schedule();