Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 89877e42827f16fa5f86b1df0c2860b1 > files > 1782

kernel-2.6.18-128.1.10.el5.src.rpm

From: Justin Payne <jpayne@redhat.com>
Date: Thu, 26 Mar 2009 17:53:29 -0400
Subject: [ppc] keyboard not recognized on bare metal
Message-id: 861039803.3304291238104409891.JavaMail.root@zmail02.collab.prod.int.phx2.redhat.com
O-Subject: [RHEL5.4 PATCH] BZ#455232: ppc: keyboard not recognized after linux-2.6-ipmi-legacy-ioport-setup-changes.patch applied
Bugzilla: 455232
RH-Acked-by: Aristeu Rozanski <aris@redhat.com>
RH-Acked-by: Dave Anderson <anderson@redhat.com>

A regression was introduced in 5.2 on ppc where the keyboard is not recognized on bare metal installs. The patch causes pSeries_check_legacy_ioport to return -ENODEV whether (np) returns null or not. I have modified linux-2.6-ipmi-legacy-ioport-setup-changes.patch so that it returns zero, and -ENODEV is returned if (np) is null.

diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index acef34e..79c64f6 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -392,7 +392,6 @@ static void __init pSeries_init_early(void)
 static int pSeries_check_legacy_ioport(unsigned int baseport)
 {
 	struct device_node *np = NULL;
-	int ret = -ENODEV;
 
 #define I8042_DATA_REG	0x60
 #define FDC_BASE	0x3f0
@@ -409,9 +408,9 @@ static int pSeries_check_legacy_ioport(unsigned int baseport)
 		break;
 	}
 	if (!np)
-		return ret;
+		return -ENODEV;
 	of_node_put(np);
-	return ret;
+	return 0;
 }
 
 /*