ChangeSet 1.738.5.27, 2002/10/13 13:49:01-07:00, mdharm-usb@one-eyed-alien.net [PATCH] usb-storage: convert to common transfer functions This patch fixes the bulk transport data stage to use the correct pipe for data exchange, based on the transfer direction. diff -Nru a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c --- a/drivers/usb/storage/transport.c Sun Oct 13 17:08:32 2002 +++ b/drivers/usb/storage/transport.c Sun Oct 13 17:08:32 2002 @@ -1257,8 +1257,10 @@ /* DATA STAGE */ /* send/receive data payload, if there is any */ if (transfer_length) { - result = usb_stor_bulk_transfer_srb(us, us->send_bulk_pipe, - srb, transfer_length); + unsigned int pipe = srb->sc_data_direction == SCSI_DATA_READ ? + us->recv_bulk_pipe : us->send_bulk_pipe; + result = usb_stor_bulk_transfer_srb(us, pipe, srb, + transfer_length); US_DEBUGP("Bulk data transfer result 0x%x\n", result); /* if it was aborted, we need to indicate that */