On Thursday 27 November 2003 01:08, Jay Cornwall wrote: > > It looks like this: > > > > panic() > > destroy_dev() > > ugen_destroy_devnodes() > > ugen_set_config() > > Yes, that's the one, and I think I can see why. The existing code fixed > devfs problems for normal ugen_set_config calls, but doesn't account for > what happens when an error occurs (which is presumably happening in your > example program, as you said it gives an error the first time round) - the > devfs stuff only half completes. > > (actually, looking at that error handling code, it doesn't look like it's > been thought through well anyway - /* XXX should only do this after setting > new altno has succeeded */ - maybe time to clean this code up?) > > After the device endpoints are destroyed (sys/dev/ugen.c:1038), the returns > on lines 1055 and 1058 need to be covered by a devnode recovery procedure - > particularly tricky given we just wiped the endpoint descriptors clean. > > I'll look at restructuring this code tomorrow, if Bernd doesn't beat me to > it. If you have time left, could you perhaps also have a look at kern/51186? I have filed it back in March and it's still open. (Fixes a memory corruption bug in ugen). grtz, DaanReceived on Wed Nov 26 2003 - 22:56:15 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:31 UTC