Hi Although xhci_reinit_cached_ring() is not getting called for usual cases. Only when xhci_ring_alloc() fails. But i see one problem with this function. This functions zeros out the all the segments of the ring and later calls xhci_link_segments() to fill segment ptr and TRB type. I think zeroing out LINK TRB would overwrite the original Toggle cycle bit value and make it to 0 for all the segments. For example if you just consider 2-seg ring as per spec xhci_ring_alloc() is setting toggle cycle bit for last seg of the ring and with memset to 0 will overwrite that. This will cause issue when xHC deq ptr traverse through the link TRB it wont change its CCS flag and will continue fetching TRB which was already retired. Please let me know if i am missing something. Thanks, Hemant -- 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