usb-storage is only the tip of the iceberg. It would appear that very few
drivers actually lock around access to the local data pointer.
usb-storage is just the easiest to make it oops in this condition.
Really, tho, the problem is more pathological than that. Suppose that the
pointer has allready been copied when the _disconnect() happens. Even
with your patch, we're going to have some very undefined results.
The right answer is to identify all the trouble areas in all the drivers
and fix them.
Oh, and I should have a fix for usb-storage today or tomorrow -- it's not
as hard as I thought, once I thought about it for a few days.
Matt Dharm
On Wed, 29 Mar 2000, Pavel Machek wrote:
> Hi!
>
> > > This should help prevent some oopses. [It is good chance that upper
> > > layer will correctly recover from our error.]
> >
> > It stops you getting a callback trace. That seems to be a very definite
> > step in the wrong direction except when doing stack debugging
>
> Well, it seems that usb storage needs that not to oops in rare cases,
> and it is not easily fixed :-(.
> Pavel
>
--
Matthew Dharm Home: [EMAIL PROTECTED]
Engineer, Qualcomm, Inc. Work: [EMAIL PROTECTED]
Da. Am thinkink of carbonated borscht for lonk nights of coding.
-- Pitr
User Friendly, 7/24/1998
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]