Messages in this thread | | | Date | Mon, 5 Aug 2013 16:34:45 +0800 | From | "" <> | Subject | Re: About TRB_TO_EP_INDEX() macro using |
| |
On Mon, Aug 05, 2013 at 08:07:25AM +0000, Du, ChangbinX wrote: > Recently when I check xHCI code, find that some functions try to get EP index > from a Command Completion Event TRB via TRB_TO_EP_INDEX() macro. > > This is totally wrong. The macro definition is: > > #define TRB_TO_EP_INDEX(p) ((((p) & (0x1f << 16)) >> 16) - 1) > > TRB_TO_EP_INDEX only applies to Transfer Event TRB. But for Command > Completion Event TRB, there is no Endpoint ID field. So, we cannot directly > get EP index from these TRBs, but we can find it by the TRB Pointer. > > Here list two functions for you to check: > handle_stopped_endpoint() > handle_reset_ep_completion()
Care to send a patch showing how you would change this if it is incorrect?
thanks,
greg k-h
| |