Obviously, ZLP is only required for transfer of OUT direction,
so just take same policy with UHCI for ZLP packet.
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
 
        /*
         * control requests may need a terminating data "status" ack;
-        * bulk ones may need a terminating short packet (zero length).
+        * other OUT ones may need a terminating short packet
+        * (zero length).
         */
        if (likely (urb->transfer_buffer_length != 0)) {
                int     one_more = 0;
                        one_more = 1;
                        token ^= 0x0100;        /* "in" <--> "out"  */
                        token |= QTD_TOGGLE;    /* force DATA1 */
-               } else if (usb_pipebulk (urb->pipe)
+               } else if (usb_pipeout(urb->pipe)
                                && (urb->transfer_flags & URB_ZERO_PACKET)
                                && !(urb->transfer_buffer_length % maxpacket)) {
                        one_more = 1;