ChangeSet 1.823.3.1, 2002/11/11 13:12:39-08:00, [EMAIL PROTECTED]

[PATCH] usb storage: remmove unneeded abort checks

Since we now test for aborts at a higher level, the low-level end of the
drivers don't need to be constantly testing for aborts.  This patch removes
that excess logic.


diff -Nru a/drivers/usb/storage/freecom.c b/drivers/usb/storage/freecom.c
--- a/drivers/usb/storage/freecom.c     Thu Nov 14 14:13:13 2002
+++ b/drivers/usb/storage/freecom.c     Thu Nov 14 14:13:13 2002
@@ -130,13 +130,6 @@
         if (result != USB_STOR_XFER_GOOD) {
                 US_DEBUGP ("Freecom readdata xpot failure: r=%d, p=%d\n",
                                 result, partial);
-
-               /* has the current command been aborted? */
-               if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-                       US_DEBUGP("freecom_readdata(): transfer aborted\n");
-                       return USB_STOR_TRANSPORT_ABORTED;
-               }
-
                 return USB_STOR_TRANSPORT_ERROR;
         }
         US_DEBUGP("Done issuing read request: %d %d\n", result, partial);
@@ -173,13 +166,6 @@
         if (result != USB_STOR_XFER_GOOD) {
                 US_DEBUGP ("Freecom writedata xpot failure: r=%d, p=%d\n",
                                 result, partial);
-
-               /* has the current command been aborted? */
-               if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-                       US_DEBUGP("freecom_writedata(): transfer aborted\n");
-                       return USB_STOR_TRANSPORT_ABORTED;
-               }
-
                 return USB_STOR_TRANSPORT_ERROR;
         }
         US_DEBUGP("Done issuing write request: %d %d\n",
@@ -238,13 +224,6 @@
         if (result != USB_STOR_XFER_GOOD) {
                 US_DEBUGP ("freecom xport failure: r=%d, p=%d\n",
                                 result, partial);
-
-               /* we canceled this transfer */
-               if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-                       US_DEBUGP("freecom_transport(): transfer aborted\n");
-                       return USB_STOR_TRANSPORT_ABORTED;
-               }
-
                 return USB_STOR_TRANSPORT_ERROR;
         }
 
@@ -253,12 +232,6 @@
         result = usb_stor_bulk_msg (us, fst, ipipe,
                         FCM_PACKET_LENGTH, &partial);
         US_DEBUGP("foo Status result %d %d\n", result, partial);
-
-       /* we canceled this transfer */
-       if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-               US_DEBUGP("freecom_transport(): transfer aborted\n");
-               return USB_STOR_TRANSPORT_ABORTED;
-       }
        if (result != USB_STOR_XFER_GOOD)
                return USB_STOR_TRANSPORT_ERROR;
 
@@ -293,13 +266,6 @@
                if (result != USB_STOR_XFER_GOOD) {
                        US_DEBUGP ("freecom xport failure: r=%d, p=%d\n",
                                        result, partial);
-
-                       /* we canceled this transfer */
-                       if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-                               US_DEBUGP("freecom_transport(): transfer aborted\n");
-                               return USB_STOR_TRANSPORT_ABORTED;
-                       }
-
                        return USB_STOR_TRANSPORT_ERROR;
                }
 
@@ -308,12 +274,6 @@
                                FCM_PACKET_LENGTH, &partial);
 
                US_DEBUGP("bar Status result %d %d\n", result, partial);
-
-               /* we canceled this transfer */
-               if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-                       US_DEBUGP("freecom_transport(): transfer aborted\n");
-                       return USB_STOR_TRANSPORT_ABORTED;
-               }
                if (result > USB_STOR_XFER_SHORT)
                        return USB_STOR_TRANSPORT_ERROR;
 
@@ -372,10 +332,6 @@
                                 FCM_PACKET_LENGTH, &partial);
                US_DEBUG(pdump ((void *) fst, partial));
 
-               if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-                        US_DEBUGP ("freecom_transport: transfer aborted\n");
-                        return USB_STOR_TRANSPORT_ABORTED;
-                }
                 if (partial != 4 || result > USB_STOR_XFER_SHORT)
                         return USB_STOR_TRANSPORT_ERROR;
                 if ((fst->Status & ERR_STAT) != 0) {
@@ -401,10 +357,6 @@
                 result = usb_stor_bulk_msg (us, fst, ipipe,
                                 FCM_PACKET_LENGTH, &partial);
 
-               if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-                        US_DEBUGP ("freecom_transport: transfer aborted\n");
-                        return USB_STOR_TRANSPORT_ABORTED;
-                }
                 if (partial != 4 || result > USB_STOR_XFER_SHORT)
                         return USB_STOR_TRANSPORT_ERROR;
                 if ((fst->Status & ERR_STAT) != 0) {
diff -Nru a/drivers/usb/storage/isd200.c b/drivers/usb/storage/isd200.c
--- a/drivers/usb/storage/isd200.c      Thu Nov 14 14:13:13 2002
+++ b/drivers/usb/storage/isd200.c      Thu Nov 14 14:13:13 2002
@@ -130,7 +130,6 @@
 #define ISD200_TRANSPORT_GOOD       0   /* Transport good, command good     */
 #define ISD200_TRANSPORT_FAILED     1   /* Transport good, command failed   */
 #define ISD200_TRANSPORT_ERROR      2   /* Transport bad (i.e. device dead) */
-#define ISD200_TRANSPORT_ABORTED    3   /* Transport aborted                */
 #define ISD200_TRANSPORT_SHORT      4   /* Transport short                  */
 
 /* driver action codes */
@@ -436,11 +435,6 @@
        result = usb_stor_bulk_transfer_buf(us, us->send_bulk_pipe,
                                (char *) &bcb, US_BULK_CB_WRAP_LEN, NULL);
         US_DEBUGP("Bulk command transfer result=%d\n", result);
-    
-       /* did we abort this command? */
-       if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-               return ISD200_TRANSPORT_ABORTED;
-       }
        if (result != USB_STOR_XFER_GOOD)  
                 return ISD200_TRANSPORT_ERROR;
     
@@ -451,10 +445,6 @@
                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 */
-               if (result == USB_STOR_XFER_ABORTED)
-                       return ISD200_TRANSPORT_ABORTED;
                if (result == USB_STOR_XFER_ERROR)
                        return ISD200_TRANSPORT_ERROR;
         }
@@ -468,11 +458,6 @@
        result = usb_stor_bulk_transfer_buf(us, us->recv_bulk_pipe,
                                (char *) &bcs, US_BULK_CS_WRAP_LEN, NULL);
 
-       /* did we abort this command? */
-       if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-               return ISD200_TRANSPORT_ABORTED;
-       }
-
         /* did the attempt to read the CSW fail? */
        if (result == USB_STOR_XFER_STALLED) {
            
@@ -480,11 +465,6 @@
                 US_DEBUGP("Attempting to get CSW (2nd try)...\n");
                result = usb_stor_bulk_transfer_buf(us, us->recv_bulk_pipe,
                                (char *) &bcs, US_BULK_CS_WRAP_LEN, NULL);
-
-                /* if the command was aborted, indicate that */
-               if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-                       return ISD200_TRANSPORT_ABORTED;
-               }
         }
     
         /* if we still have a failure at this point, we're in trouble */
@@ -686,14 +666,6 @@
        case ISD200_TRANSPORT_GOOD:
                /* Indicate a good result */
                srb->result = GOOD << 1;
-               break;
-
-       case ISD200_TRANSPORT_ABORTED:
-               /* if the command gets aborted by the higher layers, we need to
-                * short-circuit all other processing
-                */
-               US_DEBUGP("-- transport indicates command was aborted\n");
-               srb->result = DID_ABORT << 16;
                break;
 
        case ISD200_TRANSPORT_FAILED:
diff -Nru a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c
--- a/drivers/usb/storage/transport.c   Thu Nov 14 14:13:13 2002
+++ b/drivers/usb/storage/transport.c   Thu Nov 14 14:13:13 2002
@@ -562,12 +562,6 @@
                        value, index, data, size);
        US_DEBUGP("usb_stor_control_msg returned %d\n", result);
 
-       /* did we abort this command? */
-       if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-               US_DEBUGP("-- transfer aborted\n");
-               return USB_STOR_XFER_ABORTED;
-       }
-
        /* a stall indicates a protocol error */
        if (result == -EPIPE) {
                US_DEBUGP("-- stall on control pipe\n");
@@ -624,12 +618,6 @@
                return USB_STOR_XFER_STALLED;
        }
 
-       /* did we abort this command? */
-       if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-               US_DEBUGP("-- transfer aborted\n");
-               return USB_STOR_XFER_ABORTED;
-       }
-
        /* NAK - that means we've retried a few times already */
        if (result == -ETIMEDOUT) {
                US_DEBUGP("-- device NAKed\n");
@@ -1116,15 +1104,6 @@
        if (result != USB_STOR_XFER_GOOD) {
                /* Reset flag for status notification */
                clear_bit(US_FLIDX_IP_WANTED, &us->flags);
-       }
-
-       /* did we abort this command? */
-       if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-               US_DEBUGP("usb_stor_control_msg(): transfer aborted\n");
-               return USB_STOR_TRANSPORT_ABORTED;
-       }
-
-       if (result != USB_STOR_XFER_GOOD) {
                /* Uh oh... serious problem here */
                return USB_STOR_TRANSPORT_ERROR;
        }
@@ -1137,12 +1116,6 @@
                result = usb_stor_bulk_transfer_srb(us, pipe, srb,
                                        transfer_length);
                US_DEBUGP("CBI data stage result is 0x%x\n", result);
-
-               /* report any errors */
-               if (result == USB_STOR_XFER_ABORTED) {
-                       clear_bit(US_FLIDX_IP_WANTED, &us->flags);
-                       return USB_STOR_TRANSPORT_ABORTED;
-               }
                if (result == USB_STOR_XFER_ERROR) {
                        clear_bit(US_FLIDX_IP_WANTED, &us->flags);
                        return USB_STOR_TRANSPORT_ERROR;
@@ -1157,7 +1130,7 @@
        /* has the current command been aborted? */
        if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
                US_DEBUGP("CBI interrupt aborted\n");
-               return USB_STOR_TRANSPORT_ABORTED;
+               return USB_STOR_TRANSPORT_ERROR;
        }
 
        US_DEBUGP("Got interrupt data (0x%x, 0x%x)\n", 
@@ -1222,13 +1195,6 @@
 
        /* check the return code for the command */
        US_DEBUGP("Call to usb_stor_ctrl_transfer() returned %d\n", result);
-
-       /* did we abort this command? */
-       if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-               US_DEBUGP("usb_stor_CB_transport(): transfer aborted\n");
-               return USB_STOR_TRANSPORT_ABORTED;
-       }
-
        if (result != USB_STOR_XFER_GOOD) {
                /* Uh oh... serious problem here */
                return USB_STOR_TRANSPORT_ERROR;
@@ -1242,14 +1208,8 @@
                result = usb_stor_bulk_transfer_srb(us, pipe, srb,
                                        transfer_length);
                US_DEBUGP("CB data stage result is 0x%x\n", result);
-
-               /* report any errors */
-               if (result == USB_STOR_XFER_ABORTED) {
-                       return USB_STOR_TRANSPORT_ABORTED;
-               }
-               if (result == USB_STOR_XFER_ERROR) {
+               if (result == USB_STOR_XFER_ERROR)
                        return USB_STOR_TRANSPORT_ERROR;
-               }
        }
 
        /* STATUS STAGE */
@@ -1319,12 +1279,6 @@
        result = usb_stor_bulk_transfer_buf(us, us->send_bulk_pipe,
                                (char *) &bcb, US_BULK_CB_WRAP_LEN, NULL);
        US_DEBUGP("Bulk command transfer result=%d\n", result);
-
-       /* did we abort this command? */
-       if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-               US_DEBUGP("usb_stor_Bulk_transport(): transfer aborted\n");
-               return USB_STOR_TRANSPORT_ABORTED;
-       }
        if (result != USB_STOR_XFER_GOOD)
                return USB_STOR_TRANSPORT_ERROR;
 
@@ -1336,10 +1290,6 @@
                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 */
-               if (result == USB_STOR_XFER_ABORTED)
-                       return USB_STOR_TRANSPORT_ABORTED;
                if (result == USB_STOR_XFER_ERROR)
                        return USB_STOR_TRANSPORT_ERROR;
        }
@@ -1353,12 +1303,6 @@
        result = usb_stor_bulk_transfer_buf(us, us->recv_bulk_pipe,
                                (char *) &bcs, US_BULK_CS_WRAP_LEN, NULL);
 
-       /* did we abort this command? */
-       if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-               US_DEBUGP("usb_stor_Bulk_transport(): transfer aborted\n");
-               return USB_STOR_TRANSPORT_ABORTED;
-       }
-
        /* did the attempt to read the CSW fail? */
        if (result == USB_STOR_XFER_STALLED) {
 
@@ -1366,12 +1310,6 @@
                US_DEBUGP("Attempting to get CSW (2nd try)...\n");
                result = usb_stor_bulk_transfer_buf(us, us->recv_bulk_pipe,
                                (char *) &bcs, US_BULK_CS_WRAP_LEN, NULL);
-
-               /* did we abort this command? */
-               if (atomic_read(&us->sm_state) == US_STATE_ABORTING) {
-                       US_DEBUGP("usb_stor_Bulk_transport(): transfer aborted\n");
-                       return USB_STOR_TRANSPORT_ABORTED;
-               }
        }
 
        /* if we still have a failure at this point, we're in trouble */
diff -Nru a/drivers/usb/storage/transport.h b/drivers/usb/storage/transport.h
--- a/drivers/usb/storage/transport.h   Thu Nov 14 14:13:13 2002
+++ b/drivers/usb/storage/transport.h   Thu Nov 14 14:13:13 2002
@@ -121,7 +121,6 @@
 #define USB_STOR_XFER_SHORT            1  /* transfered less than expected */
 #define USB_STOR_XFER_STALLED          2  /* endpoint stalled              */
 #define USB_STOR_XFER_ERROR            3  /* transfer died in the middle   */
-#define USB_STOR_XFER_ABORTED          4  /* transfer canceled             */
 
 /*
  * Transport return codes


-------------------------------------------------------
This sf.net email is sponsored by: To learn the basics of securing 
your web site with SSL, click here to get a FREE TRIAL of a Thawte 
Server Certificate: http://www.gothawte.com/rd524.html
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to