# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#                  ChangeSet    1.611.1.6 -> 1.611.1.7
#       drivers/usb/storage/transport.c 1.35    -> 1.36   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/09/26      [EMAIL PROTECTED]        1.611.1.7
# [PATCH] USB storage: Another (!) patch for the abort handler
# 
# This is a simple, obvious patch for the abort handler.  I don't know how
# we missed it before.
# 
# Fix abort problem: us->srb was used after it was erased.
# --------------------------------------------
#
diff -Nru a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c
--- a/drivers/usb/storage/transport.c   Fri Sep 27 12:30:11 2002
+++ b/drivers/usb/storage/transport.c   Fri Sep 27 12:30:11 2002
@@ -859,6 +859,7 @@
  * This must be called with scsi_lock(us->srb->host) held */
 void usb_stor_abort_transport(struct us_data *us)
 {
+       struct Scsi_Host *host;
        int state = atomic_read(&us->sm_state);
 
        US_DEBUGP("usb_stor_abort_transport called\n");
@@ -870,7 +871,8 @@
 
        /* set state to abort and release the lock */
        atomic_set(&us->sm_state, US_STATE_ABORTING);
-       scsi_unlock(us->srb->host);
+       host = us->srb->host;
+       scsi_unlock(host);
 
        /* If the state machine is blocked waiting for an URB or an IRQ,
         * let's wake it up */
@@ -892,8 +894,8 @@
        /* Wait for the aborted command to finish */
        wait_for_completion(&us->notify);
 
-       /* Reacquire the lock */
-       scsi_lock(us->srb->host);
+       /* Reacquire the lock: note that us->srb is now NULL */
+       scsi_lock(host);
 }
 
 /*


-------------------------------------------------------
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