Am Mittwoch, 10. Juli 2002 16:54 schrieb Thomas Sailer:
> On Wed, 2002-07-10 at 16:29, Oliver Neukum wrote:
> > Here:
> > spin_lock_init(&ps->lock);
> > INIT_LIST_HEAD(&ps->async_pending);
> > INIT_LIST_HEAD(&ps->async_completed);
> > init_waitqueue_head(&ps->wait);
> > init_rw
On Wed, 2002-07-10 at 16:29, Oliver Neukum wrote:
> Here:
> spin_lock_init(&ps->lock);
> INIT_LIST_HEAD(&ps->async_pending);
> INIT_LIST_HEAD(&ps->async_completed);
> init_waitqueue_head(&ps->wait);
> init_rwsem(&ps->devsem);
>
> you unconditionally reinit locks
..
Am Mittwoch, 10. Juli 2002 09:30 schrieb Thomas Sailer:
> On Tue, 2002-07-09 at 23:48, Oliver Neukum wrote:
> > Here we have an open with no protection at all against reentrancy.
> > The comment is absolutely bogus as open can sleep. Very bad.
>
> What problem is there if usbdev_open is reentered?
On Tue, 2002-07-09 at 23:48, Oliver Neukum wrote:
> Here we have an open with no protection at all against reentrancy.
> The comment is absolutely bogus as open can sleep. Very bad.
What problem is there if usbdev_open is reentered? You failed to explain
this. I agree that the GFP_KERNEL is a po