ChangeSet 1.1722.83.13, 2004/06/03 12:06:36-07:00, greg@kroah.com Cset exclude: vojtech@suse.cz|ChangeSet|20040602201956|45549 Oops, this broke device removal pretty badly :( Signed-off-by: Greg Kroah-Hartman drivers/usb/storage/isd200.c | 4 ---- drivers/usb/storage/transport.c | 11 ----------- 2 files changed, 15 deletions(-) diff -Nru a/drivers/usb/storage/isd200.c b/drivers/usb/storage/isd200.c --- a/drivers/usb/storage/isd200.c Fri Jun 18 11:04:58 2004 +++ b/drivers/usb/storage/isd200.c Fri Jun 18 11:04:58 2004 @@ -485,9 +485,7 @@ memcpy(srb->cmnd, &ata, sizeof(ata.generic)); srb->cmd_len = sizeof(ata.generic); - down(&(us->pusb_dev->serialize)); status = usb_stor_Bulk_transport(srb, us); - up(&(us->pusb_dev->serialize)); if (status == USB_STOR_TRANSPORT_GOOD) status = ISD200_GOOD; else { @@ -547,9 +545,7 @@ /* send the command to the transport layer */ memcpy(srb->cmnd, ataCdb, sizeof(ataCdb->generic)); srb->cmd_len = sizeof(ataCdb->generic); - down(&(us->pusb_dev->serialize)); transferStatus = usb_stor_Bulk_transport(srb, us); - up(&(us->pusb_dev->serialize)); /* if the command gets aborted by the higher layers, we need to * short-circuit all other processing diff -Nru a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c --- a/drivers/usb/storage/transport.c Fri Jun 18 11:04:58 2004 +++ b/drivers/usb/storage/transport.c Fri Jun 18 11:04:58 2004 @@ -527,18 +527,9 @@ int need_auto_sense; int result; - /* - * Grab device's serialize mutex to prevent /usbfs and others from - * sending out a command in the middle of ours (if libusb sends a - * get_descriptor or something on pipe 0 after our CBW and before - * our CSW, and then we get a stall, we have trouble) - */ - /* send the command to the transport layer */ - down(&(us->pusb_dev->serialize)); srb->resid = 0; result = us->transport(srb, us); - up(&(us->pusb_dev->serialize)); /* if the command gets aborted by the higher layers, we need to * short-circuit all other processing @@ -657,11 +648,9 @@ srb->serial_number ^= 0x80000000; /* issue the auto-sense command */ - down(&(us->pusb_dev->serialize)); old_resid = srb->resid; srb->resid = 0; temp_result = us->transport(us->srb, us); - up(&(us->pusb_dev->serialize)); /* let's clean up right away */ srb->resid = old_resid;