> if ((dip = ddi_hold_devi_by_instance(major, ddi_instance, 0)) == NULL) > return (EINVAL);
Well from the DDI/NDI point of view, this is not a very nice thing to do generally, in most cases there are better ways (though not necessarily easier) to achieve the same result. I don't know if it applies to this case, needs more review. -Artem
