Re: [RFC 5/9] UAS: Introduce an URB anchor for command cancellation.

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

 



* Sarah Sharp | 2011-12-09 11:15:02 [-0800]:

>That would be a question for Matthew.  I think I remember seeing that
>the full number of streams possible was one less than it needed to be
>(with the abort task patch), but I didn't get around to asking him why.
>
>> On HS we can only send one command at a time as we have only one stream,
>> right? But qdepth is set to 256 which makes you here allocate 256
>> anchors for only one command at a time.
>
>As Alan said, we submit multiple commands at once, and the USB 2.0
>device will let us know through the status URB which command it wants to
>process first.  The status URB buffers are all the same size, so we
>queue one buffer for each command we submit.  When we get a status URB
>back, we may be getting a status for a command that isn't the same as
>the cmndinfo that is housing the URB status pointer.

Yeah, I just learned that after reading the spec once again.

>That's why we can't rely on the context in uas_stat_cmplt, we have to
>look the command up by tag.  And if the device gives us the wrong tag,
>what do we do in that case?  Resubmit the status URB to make sure the
>number of status URBs and pending commands balance out?  We certainly
>don't know which of the tagged commands the bad tag was for, so we don't
>know which command to cancel.  Probably we should just make the SCSI
>core reset the device.

True.

>
>Sarah Sharp

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