Am Freitag, 30. Juni 2006 04:17 schrieb Alan Stern:
> On Thu, 29 Jun 2006, Oliver Neukum wrote:
> 
> > Hi,
> > 
> > does anybody know what error to return from queuecommand for commands
> > arriving while a device is being suspended?
> 
> I don't know of anyone who has worried about it yet...
> 
> You want to tell the SCSI core that your device isn't reachable and it 
> shouldn't attempt to retry the command, right?  One way to do that is to 
> set scmd->result = DID_NO_CONNECT << 16 and to call done(scmd), then 
> return 0.  That's what usb-storage does when queuecommand is called after 
> the device has been disconnected.
> 
> Presumably this won't come up very often.  If all the children devices are 
> properly suspended first then there shouldn't be any calls to queuecommand 
> while your device is being suspended.

Is this true, even if we are talking about suspending single devices?

This is how the plan for microtek is looking now:

static int mts_usb_suspend (struct usb_interface *intf, pm_message_t message)
{
        int rv = 0;
        struct mts_desc* desc = usb_get_intfdata(intf);

        spin_lock_irq(desc->susp_lock);
        if (desc->working > 0) {
                rv = -EBUSY;
        } else {
                desc->working = -1;
                scsi_block_requests(desc->host);
        }
        spin_unlock_irq(desc->susp_lock);

        return rv;
}

static int mts_usb_resume (struct usb_interface *intf)
{
        struct mts_desc* desc;

        desc = usb_get_intfdata(intf);
        spin_lock_irq(desc->susp_lock);
        desc->working = 0;
        spin_unlock_irq(desc->susp_lock);
        scsi_unblock_requests(desc->host);

        return 0;
}

But scsi_block_requests() isn't doing any locking.

        Regards
                Oliver

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to