[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 cff15ae..1ad0e4a 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;