[S390] qdio: make sure qdr is aligned to page size
kzalloc does not guarantee the required alignment of qdr to page size, use get_zeroed_page instead. Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
This commit is contained in:
parent
7e9238fbc1
commit
3b8e3004ae
|
@ -1355,7 +1355,7 @@ int qdio_allocate(struct qdio_initialize *init_data)
|
|||
goto out_rel;
|
||||
|
||||
/* qdr is used in ccw1.cda which is u32 */
|
||||
irq_ptr->qdr = kzalloc(sizeof(struct qdr), GFP_KERNEL | GFP_DMA);
|
||||
irq_ptr->qdr = (struct qdr *) get_zeroed_page(GFP_KERNEL | GFP_DMA);
|
||||
if (!irq_ptr->qdr)
|
||||
goto out_rel;
|
||||
WARN_ON((unsigned long)irq_ptr->qdr & 0xfff);
|
||||
|
|
|
@ -325,7 +325,7 @@ void qdio_release_memory(struct qdio_irq *irq_ptr)
|
|||
kmem_cache_free(qdio_q_cache, q);
|
||||
}
|
||||
}
|
||||
kfree(irq_ptr->qdr);
|
||||
free_page((unsigned long) irq_ptr->qdr);
|
||||
free_page(irq_ptr->chsc_page);
|
||||
free_page((unsigned long) irq_ptr);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user