Hello, Alan, Petr.

On Wed, Sep 17, 2014 at 01:36:26PM -0400, Alan Stern wrote:
> > -   /* If khubd ever becomes multithreaded, this will need a lock */
> > +   /* If hub_wq ever becomes multithreaded, this will need a lock */
> >     if (udev->wusb) {
> >             devnum = udev->portnum + 1;
> >             BUG_ON(test_bit(devnum, bus->devmap.devicemap));
> 
> You probably didn't notice when changing this comment.  But in fact,
> workqueues _are_ multithreaded.  Therefore you need to add a lock to 
> this routine.

Haven't read the code but if this function is called from a single
work_struct, workqueue guarantees that there's only single thread of
execution at any given time.  A work item is never executed
concurrently no matter what.

Thanks.

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to