[PATCH 2.6.23] ibmebus: Prevent bus_id collisions
jschopp
jschopp at austin.ibm.com
Thu Aug 30 04:33:30 EST 2007
> + len = strlen(dn->full_name + 1);
> + bus_len = min(len, BUS_ID_SIZE - 1);
> + memcpy(dev->ofdev.dev.bus_id, dn->full_name + 1
> + + (len - bus_len), bus_len);
> + for (i = 0; i < bus_len; i++)
> + if (dev->ofdev.dev.bus_id[i] == '/')
> + dev->ofdev.dev.bus_id[i] = '_';
>
> /* Register with generic device framework. */
> if (ibmebus_register_device_common(dev, dn->name) != 0) {
What happens when the full name is > 31 characters? It looks to me that it
will be truncated, which takes away the uniqueness guarantee.
There must be an individual property that is guaranteed to be unique and
less than 32 characters. How about "ibm,my-drc-index"? That looks like a
good candidate.
More information about the Linuxppc-dev
mailing list