diff options
Diffstat (limited to 'drivers/s390/char/vmcp.c')
-rw-r--r-- | drivers/s390/char/vmcp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/s390/char/vmcp.c b/drivers/s390/char/vmcp.c index 8990d8076e7d..19762f3476aa 100644 --- a/drivers/s390/char/vmcp.c +++ b/drivers/s390/char/vmcp.c | |||
@@ -103,8 +103,10 @@ vmcp_write(struct file *file, const char __user * buff, size_t count, | |||
103 | } | 103 | } |
104 | cmd[count] = '\0'; | 104 | cmd[count] = '\0'; |
105 | session = (struct vmcp_session *)file->private_data; | 105 | session = (struct vmcp_session *)file->private_data; |
106 | if (down_interruptible(&session->mutex)) | 106 | if (down_interruptible(&session->mutex)) { |
107 | kfree(cmd); | ||
107 | return -ERESTARTSYS; | 108 | return -ERESTARTSYS; |
109 | } | ||
108 | if (!session->response) | 110 | if (!session->response) |
109 | session->response = (char *)__get_free_pages(GFP_KERNEL | 111 | session->response = (char *)__get_free_pages(GFP_KERNEL |
110 | | __GFP_REPEAT | GFP_DMA, | 112 | | __GFP_REPEAT | GFP_DMA, |