On Tue, 3 Feb 2009, Alan Stern wrote:
On Tue, 3 Feb 2009 kilgota@xxxxxxxxxxxxxxxxxxxxxx wrote:
Nonsense. It's simply a matter of how you create your workqueue. In
the code you sent me, you call create_workqueue(). Instead, just call
create_singlethread_workqueue(). Or maybe even
create_freezeable_workqueue().
Alan Stern
OK, seems one way out, might even work. I will definitely try that.
Update. I did try it.
No it does not work, sorry. :/
Again, nonsense. Of course it works. It causes the kernel to create
only one workqueue thread instead of two.
OK, yes, it did do that.
That's what it's supposed to
do -- it was never intended to fix your oops.
OK.
While you have this matter on your mind, I am curious about the following:
As the code for the sq905 module evolved through various stages, the
only occasion on which any real trouble arose was at the end, when we put
in the mutex locks which you can see in the code now. Before they were put
in, these problems which we are discussing now did not occur.
Specifically, there was not any such problem about an oops caused by
camera removal until the mutex locks were put in the code. And I strongly
suspect -- nay, I am almost certain -- that with that the same code you
are looking at now, the oops would go away if all those mutex locks were
simply commented out and the code re-compiled and reinstalled. Can you
explain this? I am just curious about why.
You're wrong, the oops would not go away. It would just become a lot
less likely to occur -- and thereby all the more insidious.
How nice. Thanks for explaining.
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html