diff options
Diffstat (limited to 'drivers/s390/cio/qdio.c')
-rw-r--r-- | drivers/s390/cio/qdio.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/drivers/s390/cio/qdio.c b/drivers/s390/cio/qdio.c index 381f339e3200..eb39218b925e 100644 --- a/drivers/s390/cio/qdio.c +++ b/drivers/s390/cio/qdio.c | |||
@@ -56,7 +56,7 @@ | |||
56 | #include "ioasm.h" | 56 | #include "ioasm.h" |
57 | #include "chsc.h" | 57 | #include "chsc.h" |
58 | 58 | ||
59 | #define VERSION_QDIO_C "$Revision: 1.101 $" | 59 | #define VERSION_QDIO_C "$Revision: 1.108 $" |
60 | 60 | ||
61 | /****************** MODULE PARAMETER VARIABLES ********************/ | 61 | /****************** MODULE PARAMETER VARIABLES ********************/ |
62 | MODULE_AUTHOR("Utz Bacher <utz.bacher@de.ibm.com>"); | 62 | MODULE_AUTHOR("Utz Bacher <utz.bacher@de.ibm.com>"); |
@@ -1338,16 +1338,14 @@ qdio_release_irq_memory(struct qdio_irq *irq_ptr) | |||
1338 | if (!irq_ptr->input_qs[i]) | 1338 | if (!irq_ptr->input_qs[i]) |
1339 | goto next; | 1339 | goto next; |
1340 | 1340 | ||
1341 | if (irq_ptr->input_qs[i]->slib) | 1341 | kfree(irq_ptr->input_qs[i]->slib); |
1342 | kfree(irq_ptr->input_qs[i]->slib); | ||
1343 | kfree(irq_ptr->input_qs[i]); | 1342 | kfree(irq_ptr->input_qs[i]); |
1344 | 1343 | ||
1345 | next: | 1344 | next: |
1346 | if (!irq_ptr->output_qs[i]) | 1345 | if (!irq_ptr->output_qs[i]) |
1347 | continue; | 1346 | continue; |
1348 | 1347 | ||
1349 | if (irq_ptr->output_qs[i]->slib) | 1348 | kfree(irq_ptr->output_qs[i]->slib); |
1350 | kfree(irq_ptr->output_qs[i]->slib); | ||
1351 | kfree(irq_ptr->output_qs[i]); | 1349 | kfree(irq_ptr->output_qs[i]); |
1352 | 1350 | ||
1353 | } | 1351 | } |
@@ -2873,10 +2871,10 @@ qdio_establish(struct qdio_initialize *init_data) | |||
2873 | return result; | 2871 | return result; |
2874 | } | 2872 | } |
2875 | 2873 | ||
2876 | wait_event_interruptible_timeout(cdev->private->wait_q, | 2874 | /* Timeout is cared for already by using ccw_device_start_timeout(). */ |
2875 | wait_event_interruptible(cdev->private->wait_q, | ||
2877 | irq_ptr->state == QDIO_IRQ_STATE_ESTABLISHED || | 2876 | irq_ptr->state == QDIO_IRQ_STATE_ESTABLISHED || |
2878 | irq_ptr->state == QDIO_IRQ_STATE_ERR, | 2877 | irq_ptr->state == QDIO_IRQ_STATE_ERR); |
2879 | QDIO_ESTABLISH_TIMEOUT); | ||
2880 | 2878 | ||
2881 | if (irq_ptr->state == QDIO_IRQ_STATE_ESTABLISHED) | 2879 | if (irq_ptr->state == QDIO_IRQ_STATE_ESTABLISHED) |
2882 | result = 0; | 2880 | result = 0; |
@@ -3315,8 +3313,7 @@ qdio_get_qdio_memory(void) | |||
3315 | static void | 3313 | static void |
3316 | qdio_release_qdio_memory(void) | 3314 | qdio_release_qdio_memory(void) |
3317 | { | 3315 | { |
3318 | if (indicators) | 3316 | kfree(indicators); |
3319 | kfree(indicators); | ||
3320 | } | 3317 | } |
3321 | 3318 | ||
3322 | static void | 3319 | static void |