aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorMárton Németh <nm127@freemail.hu>2010-12-13 21:59:09 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-01-10 12:26:02 -0800
commit7571f089d7522a95c103558faf313c7af8856ceb (patch)
tree9f90e63bdec0a2c87b465ea661f70afe9dbb9540 /drivers/staging
parent63d5e5a727240b317b0c2fa2abeb32b367aea196 (diff)
downloadkernel_samsung_smdk4412-7571f089d7522a95c103558faf313c7af8856ceb.zip
kernel_samsung_smdk4412-7571f089d7522a95c103558faf313c7af8856ceb.tar.gz
kernel_samsung_smdk4412-7571f089d7522a95c103558faf313c7af8856ceb.tar.bz2
staging: usbip: remove double giveback of URB
In the vhci_urb_dequeue() function the TCP connection is checked twice. Each time when the TCP connection is closed the URB is unlinked and given back. Remove the second attempt of unlinking and giving back of the URB completely. This patch fixes the bug described at https://bugzilla.kernel.org/show_bug.cgi?id=24872 . Signed-off-by: Márton Németh <nm127@freemail.hu> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/usbip/vhci_hcd.c14
1 files changed, 0 insertions, 14 deletions
diff --git a/drivers/staging/usbip/vhci_hcd.c b/drivers/staging/usbip/vhci_hcd.c
index 832608d..08bd26a 100644
--- a/drivers/staging/usbip/vhci_hcd.c
+++ b/drivers/staging/usbip/vhci_hcd.c
@@ -799,20 +799,6 @@ static int vhci_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status)
spin_unlock_irqrestore(&vdev->priv_lock, flags2);
}
-
- if (!vdev->ud.tcp_socket) {
- /* tcp connection is closed */
- usbip_uinfo("vhci_hcd: vhci_urb_dequeue() gives back urb %p\n",
- urb);
-
- usb_hcd_unlink_urb_from_ep(hcd, urb);
-
- spin_unlock_irqrestore(&the_controller->lock, flags);
- usb_hcd_giveback_urb(vhci_to_hcd(the_controller), urb,
- urb->status);
- spin_lock_irqsave(&the_controller->lock, flags);
- }
-
spin_unlock_irqrestore(&the_controller->lock, flags);
usbip_dbg_vhci_hc("leave\n");