Scott Long wrote:
This is close to How Things Should Be. Each umass target having its own
SIM and bus is indeed wrong, but I'm not sure if it's correct for all
USB controllers and buses to be under a single SIM. What would be the
most correct is for each physical USB controller/bus instance to have
its own SIM instance. I don't know if it's better to do the attachment
in ehci/ohci/uhci controller drivers or in usb bus driver; up in the
controller drivers is probably more correct. I don't like this hack of
attaching stuff in a SYSINIT.
Scott
Now that I've thought some on it, I'll go one step further and say that
registering a single SIM for multiple controller+bus instances in a
SYSINIT will be highly undesirable thing to do. Since you have to
register a lock with the CAM when you register the SIM, you'll wind up
serializing all of the USB controllers under a single lock. Or you'll
probably try something dangerous and tricky with dropping the new global
lock and picking up an individual lock, then swizzling locks in the
completion and event paths, with the result being rather unsatisfying
and unpleasant. So I know that you'll do what you believe is correct,
but please take my advice on the matter anyways.
Scott
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[EMAIL PROTECTED]"