Odd, it looks like I did compile the kernel with SMP support, even though
I don't need it.

I have been building the device driver module using a Makefile seperate
from the kernel. Obviously a bad idea.  Thanks for the help, that will
probably fix it.


> Hi Mark,
> 
> The only reason that I know this could happen is if
> you build kernel with/without SMP and build the
> USB stuff reversed (without/with) SMP.
> Spinlocks and their calls turn into null/empty
> without SMP.
> 
> ~Randy
> ___________________________________________________
> |Randy Dunlap     Intel Corp., DAL    Sr. SW Engr.|
> |randy.dunlap.at.intel.com            503-696-2055|
> |_________________________________________________|
> 
> > -----Original Message-----
> > From: Mark Douglas Corner [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, June 12, 2000 10:50 AM
> > To: [EMAIL PROTECTED]
> > Subject: Re: [linux-usb] free_dev
> > 
> > 
> > 
> > Ok, I figured out why the kernel oopses on urb submission or on
> > urb_unlink.  My module and the usb module have different 
> > ideas about the
> > size of a spinlock.  My module thinks it is 0 bytes and the usb module
> > thinks it is 4 bytes.  This difference in size throws off the 
> > whole urb
> > structure and chaos ensues.
> > 
> > The question is why does my module think that a spinlock struct it 0
> > bytes?  ie.  sizeof(spinlock_t) returns 0.  
> > 
> > I am new to kernel programming, so take it easy on me! Thanks.
> > 
> > > Sorry to answer my own mail..  My mistake, the device is not getting
> > > destroyed, just free_Dev gets called and then doesn't do 
> > anything.  That
> > > isn't the problem, but I am still oopsing.  Details later.  thanks.
> > > 
> > > 
> > > > I am attempting to adapt the acm driver for use with my 
> > oewn device.
> > > > 
> > > > It probes the device fine, but after that the first URB 
> > submission ends up
> > > > freeing the device. Details:
> > > > 
> > > > At some point during/right after the URB submission 
> > uhci_interrupt gets
> > > > called and spits out the message:
> > > > 
> > > > interrupt, status 3, frame# 1418
> > > > 
> > > > process_urb gets called and in the last few lines of that 
> > function it
> > > > calls usb_dec_dev_use which is defined as usb_free_dev 
> > which then frees my
> > > > device.
> > > > 
> > > > Eventually the kernel oopses, but this is no suprise 
> > since the device has
> > > > been freed unbeknownst to me.
> > > > 
> > > > This may seem like a dumb question, but what are these 
> > interrupts?  Why is
> > > > my device being freed?  Thanks!
> > > > 
> > > > 
> > > > 
> > > > ----                                                      
> >              
> > > > Mark Douglas Corner                                      
> > > > [EMAIL PROTECTED]
> > > > 
> > > > 
> > > > 
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > 
> > > 
> > > ----                                                        
> >            
> > > Mark Douglas Corner                                      
> > > [EMAIL PROTECTED]
> > > 
> > > 
> > > 
> > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > 
> > 
> > ----                                                          
> >          
> > Mark Douglas Corner                                      
> > [EMAIL PROTECTED]
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> 

----                                                                   
Mark Douglas Corner                                      
[EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to