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]