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]

Reply via email to