diff options
author | Julian Wiedmann <jwi@linux.ibm.com> | 2020-04-03 00:22:18 +0300 |
---|---|---|
committer | Vasily Gorbik <gor@linux.ibm.com> | 2020-04-28 14:49:47 +0300 |
commit | edbf3b2a87db6357fba54520c1baf605e08557b3 (patch) | |
tree | ac19efde2f8ddc00ae690d58d0efe74996f07539 /drivers/s390/cio/qdio_setup.c | |
parent | 3050f022df6a08cb3c968b9be01c163092c568d3 (diff) | |
download | linux-edbf3b2a87db6357fba54520c1baf605e08557b3.tar.xz |
s390/qdio: do more fine-grained allocation roll-back
Instead of having a catch-all qdio_release_memory() helper, free the
individual allocations from the respective error path.
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Reviewed-by: Steffen Maier <maier@linux.ibm.com>
Reviewed-by: Benjamin Block <bblock@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Diffstat (limited to 'drivers/s390/cio/qdio_setup.c')
-rw-r--r-- | drivers/s390/cio/qdio_setup.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/s390/cio/qdio_setup.c b/drivers/s390/cio/qdio_setup.c index 8edfa0982221..51dc9a41555a 100644 --- a/drivers/s390/cio/qdio_setup.c +++ b/drivers/s390/cio/qdio_setup.c @@ -347,7 +347,7 @@ void qdio_setup_ssqd_info(struct qdio_irq *irq_ptr) DBF_EVENT("3:%4x qib:%4x", irq_ptr->ssqd_desc.qdioac3, irq_ptr->qib.ac); } -void qdio_release_memory(struct qdio_irq *irq_ptr) +void qdio_free_queues(struct qdio_irq *irq_ptr) { struct qdio_q *q; int i; @@ -383,9 +383,6 @@ void qdio_release_memory(struct qdio_irq *irq_ptr) kmem_cache_free(qdio_q_cache, q); } } - free_page((unsigned long) irq_ptr->qdr); - free_page(irq_ptr->chsc_page); - free_page((unsigned long) irq_ptr); } static void __qdio_allocate_fill_qdr(struct qdio_irq *irq_ptr, |