Cathy Zhou wrote:
Basically, the assumption here is that PPA == instance. Bad
assumption.
The assumption is based on the code in mac_register() that the minor
number is (instance + 1). Have you changed this code?
m_instance != ddi_get_instance().
for physical links, mregp->m_instance is set to 0, and m_instance is
set to ddi_get_instance(). I guess you've changed that.
Not for all physical links. It is perfectly reasonable to have a
physical link where m_instance != ddi_get_instance(). Such as when you
have multiple PPAs per port. (I take m_instance to mean the PPA.)
This is a GLDv3 driver, right? can you use the dls_link_devinfo() to
get the devinfo from the dev_t?
Possibly. Right now I'm trying a different approach... replacing
ddi_hold_devi_by_instance() with ddi_hold_installed_driver(). My
concern about the dls_link_devinfo() is that I don't really
understand the context in which softmac_hold_device() is called --
will the underlying GLDv3 structures be set up such that it is safe
to call dls_link_devinfo()? My understanding is that the underlying
GLDv3 might not be attached yet, which is the point of this call...
You are right. In that case (softmac_hold_device()), caling
dls_link_devinfo() would return NULL.
Okay, let me do some more testing and get back to you.
- Garrett
- Cathy
_______________________________________________
networking-discuss mailing list
[email protected]
_______________________________________________
networking-discuss mailing list
[email protected]