Skip to content

Commit

Permalink
hvcs: Ensure page aligned partner info buffer
Browse files Browse the repository at this point in the history
The Power platform requires the partner info buffer to be page aligned
otherwise it will fail the partner info hcall with H_PARAMETER. Switch
from using kmalloc to allocate this buffer to __get_free_page to ensure
page alignment.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  • Loading branch information
Brian King authored and Benjamin Herrenschmidt committed Sep 20, 2011
1 parent 8bdafa3 commit ac07a4a
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions drivers/tty/hvc/hvcs.c
Original file line number Diff line number Diff line change
Expand Up @@ -1532,7 +1532,7 @@ static int __devinit hvcs_initialize(void)
goto register_fail;
}

hvcs_pi_buff = kmalloc(PAGE_SIZE, GFP_KERNEL);
hvcs_pi_buff = (unsigned long *) __get_free_page(GFP_KERNEL);
if (!hvcs_pi_buff) {
rc = -ENOMEM;
goto buff_alloc_fail;
Expand All @@ -1548,7 +1548,7 @@ static int __devinit hvcs_initialize(void)
return 0;

kthread_fail:
kfree(hvcs_pi_buff);
free_page((unsigned long)hvcs_pi_buff);
buff_alloc_fail:
tty_unregister_driver(hvcs_tty_driver);
register_fail:
Expand Down Expand Up @@ -1597,7 +1597,7 @@ static void __exit hvcs_module_exit(void)
kthread_stop(hvcs_task);

spin_lock(&hvcs_pi_lock);
kfree(hvcs_pi_buff);
free_page((unsigned long)hvcs_pi_buff);
hvcs_pi_buff = NULL;
spin_unlock(&hvcs_pi_lock);

Expand Down

0 comments on commit ac07a4a

Please sign in to comment.