Re: disconnect and uas_work_list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 17, 2012 at 03:05:15PM +0200, Oliver Neukum wrote:
> On Friday 17 August 2012 15:01:16 Sebastian Andrzej Siewior wrote:
> > > It is possible that you get  -ENOMEM while a command is already being
> > > executed. The worst case is probably that you got a command to the device
> > > and you need to do autosense, but you get -ENOMEM.
> > 
> > Looking at the code, I see that we have have anchors so were are good. Except
> > for the cmd_urb.
> > That means the endless re-try loops stops once you plug the cable.
> 
> I am afraid this is not entirely true. Somebody may do a soft disconnect (sysfs)
> between scheduling the work and executing it. In that case the work function
> will happily submit URBs to an interface it is no longer bound to. And as the work
> is shared we cannot simply shut it down in disconnect()

I see. So the problem is that we have it in the uas_work_list and
uas_disconnect() frees that URB which we re-submit.
So the obvious thing would be something per-interface but do need this
re-submit at all?

> 
> 	Regards
> 		Oliver
> 

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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux