aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Cho <acho@novell.com>2010-09-24 06:50:11 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-09-30 07:33:26 -0400
commite10496041bd8ef75772d6adbbd7029ca023dc66e (patch)
treefce27e2d2f37d4b40a92be0fbd613c8273a4b644
parent53059aa05988761a738fa8bc082bbf3c5d4462d1 (diff)
staging: keucr: fix keucr lost disconnect in transport
The other part of keucr lost usb disconnect. Unplug SDcard after thread scan,the wrong rule in usb_stor_port_reset, so the driver still fail in stress test. Signed-off-by: Al Cho <acho@novell.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/staging/keucr/transport.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/staging/keucr/transport.c b/drivers/staging/keucr/transport.c
index 7215429759b..445a62ce693 100644
--- a/drivers/staging/keucr/transport.c
+++ b/drivers/staging/keucr/transport.c
@@ -763,24 +763,19 @@ int usb_stor_port_reset(struct us_data *us)
763 int result, rc_lock; 763 int result, rc_lock;
764 764
765 //printk("transport --- usb_stor_port_reset\n"); 765 //printk("transport --- usb_stor_port_reset\n");
766 result = rc_lock = usb_lock_device_for_reset(us->pusb_dev, us->pusb_intf); 766 result = usb_lock_device_for_reset(us->pusb_dev, us->pusb_intf);
767 if (result < 0) 767 if (result < 0)
768 printk("unable to lock device for reset: %d\n", result); 768 printk("unable to lock device for reset: %d\n", result);
769 else 769 else {
770 {
771 /* Were we disconnected while waiting for the lock? */ 770 /* Were we disconnected while waiting for the lock? */
772 if (test_bit(US_FLIDX_DISCONNECTING, &us->dflags)) 771 if (test_bit(US_FLIDX_DISCONNECTING, &us->dflags)) {
773 {
774 result = -EIO; 772 result = -EIO;
775 //printk("No reset during disconnect\n"); 773 //printk("No reset during disconnect\n");
776 } 774 } else {
777 else
778 {
779 result = usb_reset_device(us->pusb_dev); 775 result = usb_reset_device(us->pusb_dev);
780 //printk("usb_reset_composite_device returns %d\n", result); 776 //printk("usb_reset_composite_device returns %d\n", result);
781 } 777 }
782 if (rc_lock) 778 usb_unlock_device(us->pusb_dev);
783 usb_unlock_device(us->pusb_dev);
784 } 779 }
785 return result; 780 return result;
786} 781}