Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: crash when disconnecting USB device



Matthias Drochner --> current-users (2008-06-21 17:28:30 +0200):
> 
> j+nbsd%2008.salmi.ch@localhost said:
> > db{0}> config_deactivate(5,1,3222dca4,0,c04c11a0,1,cc22dc7c,c02eb601,c2
> > 068f00,5) at netbsd:config_deactivate+0x14
> > config_deactivate(c2068f00,5,0,0,cc22dc8c,cc22dca4,0,c1b17500,1,4)
> > at netbsd:config_deactivate+0x49
> >  config_detach(c2068f00,1,c1a66c1c,c038959c,cacc7be0,c1a631b0,c1a66c1c,
> > 10,c1a631b0,c1b17500) at netbsd:config_detach+0xa1 
> 
> I don't see problems with umass devices like a memory stick.

Neither do I; my memory stick still works fine, i.e. it doesn't crash
the system on disconnection.


> Also the stacktrace doesn't make much sense because config_deactivate()
> can't recurse into itself.
> So I'd suspect some memory corruption, a guess would be in the umodem
> code because this is something I can't test.
> 
> Could you put some printf()s into config_deactivate(), or single-step
> in ddb, so see what really happens?

I'm not familiar enough with ddb. However, I tried adding some printfs
to sys/kern/subr_autoconf.c:config_deactive(), but now the system
panics with "config_detach: forced detach of umodem0 failed (45)". In
config_deactivate() I added a printf() _before_ EOPNOTSUPP (45) is
returned, but I don't see this output when disconnecting the device.
I don't understand what's going on.


Regards, Jukka

-- 
bashian roulette:
$ ((RANDOM%6)) || rm -rf ~


Home | Main Index | Thread Index | Old Index