| From | Sent On | Attachments |
|---|---|---|
| Dag-Erling Smørgrav | May 11, 2004 7:39 am | |
| Doug Rabson | May 11, 2004 8:08 am | |
| Poul-Henning Kamp | May 11, 2004 8:12 am | |
| John-Mark Gurney | May 11, 2004 6:02 pm | |
| Dag-Erling Smørgrav | May 12, 2004 6:27 am | |
| John-Mark Gurney | May 12, 2004 10:41 am | |
| Dag-Erling Smørgrav | May 12, 2004 10:48 am | |
| John-Mark Gurney | May 12, 2004 10:53 am | |
| Dag-Erling Smørgrav | May 12, 2004 1:30 pm | |
| Doug Rabson | May 13, 2004 1:27 am | |
| Dag-Erling Smørgrav | May 13, 2004 3:46 am | |
| Doug Rabson | May 13, 2004 5:34 am | |
| M. Warner Losh | May 13, 2004 9:06 am |
| Subject: | newbus flaw | |
|---|---|---|
| From: | Dag-Erling Smørgrav (de...@des.no) | |
| Date: | May 12, 2004 1:30:29 pm | |
| List: | org.freebsd.freebsd-arch | |
John-Mark Gurney <gurn...@efn.org> writes:
You're always going to be a child of nexus, and since I assume from the comment that there can only ever be one child. Also, why do you find_child w/ unit number 0, but then add a child with unit -1? Why not add it unit 0, and make it fail if that already exists?
just didn't think about it. the documentation is somewhat lacking, so some of the code is based on examining existing code and headers and guessing at what it all means.
Also, it seems to me that if dev already exists, that you shouldn't reset the driver and desc. This should be harmless, but if for some reason you are called on an attached device, it could cause problems.
it'll all go pear-shaped if you don't. if an ichwd device already exists, it is a leftover from a previous module load / unload cycle and the driver_t it references no longer exists. ichwd_identify() should probably KASSERT that the device it finds isn't attached - I'm pretty sure it can't happen.
DES
-- Dag-Erling Sm?rgrav - de...@des.no





