On Sun, Apr 22, 2012 at 1:31 AM, Alan Stern <[email protected]> wrote: > On Sat, 21 Apr 2012, Ming Lei wrote: >> How about always scheduling a tasklet to run what usb_unlink_urb does? >> just implement usb_unlink_urb as something like >> tasklet_schedule(unlink_tasklet). >> >> Then we can have a uniform lock requirement and no changes are involved >> on host controller drivers. > > The return values would not be correct.
If you run 'git grep -n usb_unlink_urb drivers/usb/', it may show that most of callers do not check its return value, and the others only check for dumping warnings. If usb_unlink_urb is converted into tasklet implementation, we still can dump these warnings inside its tasklet function. > > On the other hand, usbnet could call usb_unlink_urb from within a > tasklet. Sorry, you mean tasklet_schedule can't be called inside a tasklet? Thanks, -- Ming Lei -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
