From: Al Cho Date: Fri, 24 Sep 2010 10:50:11 +0000 (+0800) Subject: staging: keucr: fix keucr lost disconnect in transport X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=e10496041bd8ef75772d6adbbd7029ca023dc66e;p=openwrt%2Fstaging%2Fblogic.git 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/keucr/transport.c b/drivers/staging/keucr/transport.c index 7215429759bc..445a62ce6931 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) int result, rc_lock; //printk("transport --- usb_stor_port_reset\n"); - result = rc_lock = usb_lock_device_for_reset(us->pusb_dev, us->pusb_intf); + result = usb_lock_device_for_reset(us->pusb_dev, us->pusb_intf); if (result < 0) printk("unable to lock device for reset: %d\n", result); - else - { + else { /* Were we disconnected while waiting for the lock? */ - if (test_bit(US_FLIDX_DISCONNECTING, &us->dflags)) - { + if (test_bit(US_FLIDX_DISCONNECTING, &us->dflags)) { result = -EIO; //printk("No reset during disconnect\n"); - } - else - { + } else { result = usb_reset_device(us->pusb_dev); //printk("usb_reset_composite_device returns %d\n", result); } - if (rc_lock) - usb_unlock_device(us->pusb_dev); + usb_unlock_device(us->pusb_dev); } return result; }