We have devices which require to send zero length packet in data stage to host in certain cases. We were not seeing any issue when we were using ehci based controller. When we switched to XHCI here is what we are observing:- For IN DATA dir control xfer XHCI sets ISP so xhci updates actual_length for short packet in data stage using event->transfer_len. But for data packets not short xhci directly uses urb->transfer_buffer_length as actual_length.This is done assuming data stage will never have zero length (short packet) data packet. Once Device sends zero length packet in data stage ISP triggers and actual_length is updated with value 0. Then later in status stage (since urb->actual_length is zero) driver incorrectly sets actual_length with urb->transfer_buffer_length. I would like to get insight from linux-usb grp to fix this issue. 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