This patch fixes some spelling errors and adds some BUG_ON() calls so we
can make sure that all this new code is working properly.

Greg, please apply.

Matt

# This is a BitKeeper generated patch for the following project:
# Project Name: greg k-h's linux 2.5 USB kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#                  ChangeSet    1.589   -> 1.590  
#       drivers/usb/storage/scsiglue.c  1.20    -> 1.21   
#       drivers/usb/storage/transport.c 1.32    -> 1.33   
#       drivers/usb/storage/usb.h       1.15    -> 1.16   
#       drivers/usb/storage/usb.c       1.30    -> 1.31   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/07/06      [EMAIL PROTECTED]       1.590
# Fix spelling.  Add BUG_ON() checks.  Fix some comments.
# --------------------------------------------
#
diff -Nru a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c
--- a/drivers/usb/storage/scsiglue.c    Sat Jul  6 22:19:21 2002
+++ b/drivers/usb/storage/scsiglue.c    Sat Jul  6 22:19:21 2002
@@ -114,9 +114,10 @@
        /* Kill the control threads
         *
         * Enqueue the command, wake up the thread, and wait for 
-        * notification that it's exited.
+        * notification that it has exited.
         */
        US_DEBUGP("-- sending exit command to thread\n");
+       BUG_ON(atomic_read(&us->sm_state) != US_STATE_IDLE);
        us->srb = NULL;
        up(&(us->sema));
        wait_for_completion(&(us->notify));
@@ -136,7 +137,7 @@
        return DID_BAD_TARGET << 16;
 }
 
-/* run command */
+/* queue a command */
 /* This is always called with scsi_lock(srb->host) held */
 static int queuecommand( Scsi_Cmnd *srb , void (*done)(Scsi_Cmnd *))
 {
@@ -146,6 +147,7 @@
        srb->host_scribble = (unsigned char *)us;
 
        /* enqueue the command */
+       BUG_ON(atomic_read(&us->sm_state) != US_STATE_IDLE || us->srb != NULL);
        srb->scsi_done = done;
        us->srb = srb;
 
@@ -186,6 +188,7 @@
        int result;
 
        US_DEBUGP("device_reset() called\n" );
+       BUG_ON(atomic_read(&us->sm_state) != US_STATE_IDLE);
 
        /* set the state and release the lock */
        atomic_set(&us->sm_state, US_STATE_RESETTING);
diff -Nru a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c
--- a/drivers/usb/storage/transport.c   Sat Jul  6 22:19:21 2002
+++ b/drivers/usb/storage/transport.c   Sat Jul  6 22:19:21 2002
@@ -849,6 +849,7 @@
        /* Normally the current state is RUNNING.  If the control thread
         * hasn't even started processing this command, the state will be
         * IDLE.  Anything else is a bug. */
+       BUG_ON((state != US_STATE_RUNNING && state != US_STATE_IDLE));
 
        /* set state to abort and release the lock */
        atomic_set(&us->sm_state, US_STATE_ABORTING);
diff -Nru a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c
--- a/drivers/usb/storage/usb.c Sat Jul  6 22:19:21 2002
+++ b/drivers/usb/storage/usb.c Sat Jul  6 22:19:21 2002
@@ -473,7 +473,7 @@
 }      
 
 /* Set up the URB, the usb_ctrlrequest, and the IRQ pipe and handler.
- * ss->dev_semaphore should already be locked.
+ * ss->dev_semaphore must already be locked.
  * Note that this function assumes that all the data in the us_data
  * strucuture is current.  This includes the ep_int field, which gives us
  * the endpoint for the interrupt.
diff -Nru a/drivers/usb/storage/usb.h b/drivers/usb/storage/usb.h
--- a/drivers/usb/storage/usb.h Sat Jul  6 22:19:21 2002
+++ b/drivers/usb/storage/usb.h Sat Jul  6 22:19:21 2002
@@ -131,7 +131,6 @@
         */
        struct semaphore        dev_semaphore;   /* protect pusb_dev */
        struct usb_device       *pusb_dev;       /* this usb_device */
-
        unsigned long           flags;           /* from filter initially */
 
        /* information about the device -- always good */
@@ -164,8 +163,8 @@
        Scsi_Cmnd               *srb;            /* current srb         */
 
        /* thread information */
-       int                     pid;             /* control thread        */
-       atomic_t                sm_state;
+       int                     pid;             /* control thread       */
+       atomic_t                sm_state;        /* what we are doing    */
 
        /* interrupt info for CBI devices -- only good if attached */
        struct semaphore        ip_waitq;        /* for CBI interrupts   */
@@ -177,7 +176,7 @@
        unsigned char           irqdata[2];      /* data from USB IRQ    */
 
        /* control and bulk communications data */
-       struct semaphore        current_urb_sem; /* to protect irq_urb   */
+       struct semaphore        current_urb_sem; /* protect current_urb  */
        struct urb              *current_urb;    /* non-int USB requests */
        struct usb_ctrlrequest  *dr;             /* control requests     */
 

-- 
Matthew Dharm                              Home: [EMAIL PROTECTED] 
Maintainer, Linux USB Mass Storage Driver

It was a new hope.
                                        -- Dust Puppy
User Friendly, 12/25/1998

Attachment: msg07622/pgp00000.pgp
Description: PGP signature

Reply via email to