> On Wed, 23 Mar 2005 10:58:56 -0500 (EST) Alan Stern <[EMAIL PROTECTED]> wrote: > > > However, the fact that usblp_check_status() ignores -ENODEV and > > > returns 0 (OK) to usblp_write() is not really a hit. Imho > > > usblp_write() should get -ENODEV, release usblp->sem, drop > > > everything and let the driver clean up. > > > > Does this patch solve the problem? > > > > down (&usblp->sem); > > - if (!usblp->present) { > > + if (!usblp->present || usblp->writeurb->status == -ENODEV) { > > up (&usblp->sem); > > return -ENODEV;
I'm afraid I can't test any patches quickly, since the problem happened in production environment which I cant reboot without serious reason. > I do not expect this to work. Although Joachim was right in overall > analysis, he never claimed that -ENODEV actually happened. In reality, a > panopy of errors can be returned in this case. A comprehensive set > includes -ESHUTDOWN (formal unplug), -EILSEQ (uhci can throw this one, I > saw it), -ENOENT, -EPERM. But not -ENODEV. I the logs 'error -19' was mentioned (see original message). As asm-generic/errno-base.h shows, it is -ENODEV. Nikita ------------------------------------------------------- This SF.net email is sponsored by Microsoft Mobile & Embedded DevCon 2005 Attend MEDC 2005 May 9-12 in Vegas. Learn more about the latest Windows Embedded(r) & Windows Mobile(tm) platforms, applications & content. Register by 3/29 & save $300 http://ads.osdn.com/?ad_id=6883&alloc_id=15149&op=click _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel