[POWERPC] iSeries: fix mf proc initialisation
authorStephen Rothwell <sfr@canb.auug.org.au>
Thu, 4 Jan 2007 06:01:51 +0000 (17:01 +1100)
committerPaul Mackerras <paulus@samba.org>
Tue, 9 Jan 2007 06:03:03 +0000 (17:03 +1100)
This proc file should only be created if we are running on legacy
iSeries.  Since we can now run the same kernel on legacy iSeries and
other machines, we currently get the /proc/iSeries directory and the
files in it on non-iSeries machines, and accessing them causes an oops
in some cases.  This and the following patches make sure that these
files are not created on non-iSeries machines, thus avoiding the oops.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/iseries/mf.c

index cff15ae24f6ba8bf1184ce7cf2ad71e5f5a063f8..1ad0e4aaad1a0d5ba514e4d1d136c9cf7d40907c 100644 (file)
@@ -38,6 +38,7 @@
 #include <asm/uaccess.h>
 #include <asm/paca.h>
 #include <asm/abs_addr.h>
+#include <asm/firmware.h>
 #include <asm/iseries/vio.h>
 #include <asm/iseries/mf.h>
 #include <asm/iseries/hv_lp_config.h>
@@ -1235,6 +1236,9 @@ static int __init mf_proc_init(void)
        char name[2];
        int i;
 
+       if (!firmware_has_feature(FW_FEATURE_ISERIES))
+               return 0;
+
        mf_proc_root = proc_mkdir("iSeries/mf", NULL);
        if (!mf_proc_root)
                return 1;