Hi, my Ultra 2 has a SBUS Happy Meal and a SBUS Quad FastEthernet, both used to work fine but the qfe is no longer detected since: 0b492fce3d72d982a7981905f85484a1e1ba7fde sunhme: Don't match PCI devices in SBUS probe. The parent node, sbus_dp, seems not to be set correctly. And the sbus_dp->name == "sbus" check fails. According to prtconf [0] the tree looks like this: SUNW,Ultra-2 sbus SUNW,hme SUNW,qfe SUNW,qfe SUNW,qfe SUNW,qfe Setting sbus_dp = to_of_device(op->dev.parent->parent)->node will therefore get "SUNW,Ultra-2" instead of "sbus". This also makes reading the burst sizes fail and end up with the default, 0x0. I attached a patch :) [0]http://git.kernel.org/?p=linux/kernel/git/davem/prtconfs.git;a=blob_plain;f=ultra2_2 Cheers, Friedrich
sunhme: Fix qfe parent detection. Signed-off-by: Friedrich Oslage <bluebird@xxxxxxxxxx> diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c index d4fb4ac..4e9bd38 100644 --- a/drivers/net/sunhme.c +++ b/drivers/net/sunhme.c @@ -2649,8 +2649,6 @@ static int __devinit happy_meal_sbus_probe_one(struct of_device *op, int is_qfe) int err = -ENODEV; sbus_dp = to_of_device(op->dev.parent)->node; - if (is_qfe) - sbus_dp = to_of_device(op->dev.parent->parent)->node; /* We can match PCI devices too, do not accept those here. */ if (strcmp(sbus_dp->name, "sbus"))