diff options
author | Josh Boyer <jwboyer@redhat.com> | 2011-09-14 09:44:30 -0400 |
---|---|---|
committer | Josh Boyer <jwboyer@redhat.com> | 2011-09-14 09:44:57 -0400 |
commit | 86a04b430985ea2fd853d89cb2a30a3165775767 (patch) | |
tree | 8d784ad2d5feba3c0c08c253f7916bd467536045 | |
parent | 5f0e65d63df7b57fb0b2f064d66b3a1922dde0ef (diff) | |
download | kernel-86a04b430985ea2fd853d89cb2a30a3165775767.tar.gz kernel-86a04b430985ea2fd853d89cb2a30a3165775767.tar.xz kernel-86a04b430985ea2fd853d89cb2a30a3165775767.zip |
Add patch to fix POWER virtual serial driver (rhbz 738096)
-rw-r--r-- | hvcs_pi_buf_alloc.patch | 43 | ||||
-rw-r--r-- | kernel.spec | 5 |
2 files changed, 48 insertions, 0 deletions
diff --git a/hvcs_pi_buf_alloc.patch b/hvcs_pi_buf_alloc.patch new file mode 100644 index 000000000..ecabe49b1 --- /dev/null +++ b/hvcs_pi_buf_alloc.patch @@ -0,0 +1,43 @@ + +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> +--- + + drivers/tty/hvc/hvcs.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff -puN drivers/tty/hvc/hvcs.c~hvcs_pi_buf_alloc drivers/tty/hvc/hvcs.c +--- linux-2.6/drivers/tty/hvc/hvcs.c~hvcs_pi_buf_alloc 2011-09-09 16:00:25.000000000 -0500 ++++ linux-2.6-bjking1/drivers/tty/hvc/hvcs.c 2011-09-09 16:07:08.000000000 -0500 +@@ -1532,7 +1532,7 @@ static int __devinit hvcs_initialize(voi + 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; +@@ -1548,7 +1548,7 @@ static int __devinit hvcs_initialize(voi + 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: +@@ -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); + +_ diff --git a/kernel.spec b/kernel.spec index 0f69a6a96..16cb35fec 100644 --- a/kernel.spec +++ b/kernel.spec @@ -728,6 +728,8 @@ Patch13006: add-macbookair41-trackpad.patch Patch13007: add-macbookair41-keyboard.patch Patch13008: add-macbookair41-btusb.patch +Patch13009: hvcs_pi_buf_alloc.patch + Patch20000: utrace.patch # Flattened devicetree support @@ -1340,6 +1342,8 @@ ApplyPatch add-macbookair41-trackpad.patch ApplyPatch add-macbookair41-keyboard.patch ApplyPatch add-macbookair41-btusb.patch +ApplyPatch hvcs_pi_buf_alloc.patch + # utrace. ApplyPatch utrace.patch @@ -2053,6 +2057,7 @@ fi %changelog * Wed Sep 14 2011 Josh Boyer <jwboyer@redhat.com> - Add support for Macbook Air 4,1 keyboard, trackpad, and bluetooth +- Add patch to fix HVCS on ppc64 (rhbz 738096) * Mon Sep 12 2011 Josh Boyer <jwboyer@redhat.com> - Linux 3.1-rc6 |