summaryrefslogtreecommitdiffstats
path: root/arch/3.5.13/trinity-base/hal/patches/macbook-fix-ioperm.patch
diff options
context:
space:
mode:
Diffstat (limited to 'arch/3.5.13/trinity-base/hal/patches/macbook-fix-ioperm.patch')
-rw-r--r--arch/3.5.13/trinity-base/hal/patches/macbook-fix-ioperm.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/arch/3.5.13/trinity-base/hal/patches/macbook-fix-ioperm.patch b/arch/3.5.13/trinity-base/hal/patches/macbook-fix-ioperm.patch
new file mode 100644
index 000000000..14d0b392d
--- /dev/null
+++ b/arch/3.5.13/trinity-base/hal/patches/macbook-fix-ioperm.patch
@@ -0,0 +1,41 @@
+From 597c1ffffd61a15a334ce42f2a569c59f0270bcb Mon Sep 17 00:00:00 2001
+From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Date: Thu, 25 Feb 2010 10:25:18 +0000
+Subject: Fix incorrect arguments to ioperm() call
+
+The second argument of ioperm() is not the last port to be accessed
+but rather length of the port range [port, port + len).
+
+Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
+Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
+---
+diff --git a/hald/linux/addons/addon-imac-backlight.c b/hald/linux/addons/addon-imac-backlight.c
+index e869192..54e4ea3 100644
+--- a/hald/linux/addons/addon-imac-backlight.c
++++ b/hald/linux/addons/addon-imac-backlight.c
+@@ -158,7 +158,8 @@ main (int argc, char **argv)
+ goto out;
+ }
+
+- if (ioperm(0xB2, 0xB3, 1) < 0)
++ /* Allow access to ports 0xB2 and 0xB3 */
++ if (ioperm(0xB2, 2, 1) < 0)
+ {
+ HAL_ERROR (("ioperm failed (you should be root)."));
+ exit(1);
+diff --git a/hald/linux/addons/addon-macbookpro-backlight.c b/hald/linux/addons/addon-macbookpro-backlight.c
+index 2a6fef6..c1bbbac 100644
+--- a/hald/linux/addons/addon-macbookpro-backlight.c
++++ b/hald/linux/addons/addon-macbookpro-backlight.c
+@@ -507,7 +507,8 @@ main (int argc, char *argv[])
+ state = INREG(0x7ae4);
+ OUTREG(0x7ae4, state);
+
+- if (ioperm (0x300, 0x304, 1) < 0) {
++ /* Allow access to porta 0x300 through 0x304 */
++ if (ioperm (0x300, 5, 1) < 0) {
+ HAL_ERROR (("ioperm failed (you should be root)."));
+ exit(1);
+ }
+--
+cgit v0.8.3-6-g21f6