>>It seems to can't get the correct qh pointer, you may still need to use >>below code to get it >> int i = ep_index(ep) * 2 + ep_is_in(ep); >> struct ep_queue_head *dQH = &ep->udc->ep_qh[i]; > > Thanks for trying. It will be much easier if we can dereference QH from the ep structure. It is really strange that the ep->qh pointer is not working somehow. > Seems only ep0-out's qh pointer is assigned at ep structure. At probe: /* setup udc->eps[] for ep0 */ struct_ep_setup(udc_controller, 0, "ep0", 0); > We have initialized it in struct_ep_setup(): > ep->qh = &udc->ep_qh[index]; > > Can you do me a favor on investigating why it's failing? > > Thanks, > Leo > > -- > 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 > -- BR, Peter Chen -- 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