ChangeSet 1.738.5.27, 2002/10/13 13:49:01-07:00, [EMAIL PROTECTED]

[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 */


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to