svn commit: r186381 - projects/cambria/sys/arm/xscale/ixp425
Sam Leffler
sam at FreeBSD.org
Sun Dec 21 12:30:14 PST 2008
Author: sam
Date: Sun Dec 21 20:30:14 2008
New Revision: 186381
URL: http://svn.freebsd.org/changeset/base/186381
Log:
use feature control mask when probing
Modified:
projects/cambria/sys/arm/xscale/ixp425/if_npe.c
Modified: projects/cambria/sys/arm/xscale/ixp425/if_npe.c
==============================================================================
--- projects/cambria/sys/arm/xscale/ixp425/if_npe.c Sun Dec 21 20:29:47 2008 (r186380)
+++ projects/cambria/sys/arm/xscale/ixp425/if_npe.c Sun Dec 21 20:30:14 2008 (r186381)
@@ -297,16 +297,21 @@ npe_probe(device_t dev)
[NPE_B] = "IXP NPE-B",
[NPE_C] = "IXP NPE-C"
};
+ int unit = device_get_unit(dev);
int npeid;
+ if (unit > 2 ||
+ (ixp4xx_read_feature_bits() &
+ (unit == 0 ? EXP_FCTRL_ETH0 : EXP_FCTRL_ETH1)) == 0)
+ return EINVAL;
+
npeid = -1;
if (!override_npeid(dev, "npeid", &npeid))
- npeid = unit2npeid(device_get_unit(dev));
+ npeid = unit2npeid(unit);
if (npeid == -1) {
- device_printf(dev, "unit not supported\n");
+ device_printf(dev, "unit %d not supported\n", unit);
return EINVAL;
}
- /* XXX check feature register to see if enabled */
device_set_desc(dev, desc[npeid]);
return 0;
}
More information about the svn-src-projects
mailing list