Commit bc612c10 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

USB: Remove struct urb->timeout as it does not work

Well, it works only for UHCI controllers, but that's not acceptable...
Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
parent 87c036c2
...@@ -268,7 +268,6 @@ static void irda_usb_change_speed_xbofs(struct irda_usb_cb *self) ...@@ -268,7 +268,6 @@ static void irda_usb_change_speed_xbofs(struct irda_usb_cb *self)
speed_bulk_callback, self); speed_bulk_callback, self);
urb->transfer_buffer_length = USB_IRDA_HEADER; urb->transfer_buffer_length = USB_IRDA_HEADER;
urb->transfer_flags = URB_ASYNC_UNLINK; urb->transfer_flags = URB_ASYNC_UNLINK;
urb->timeout = msecs_to_jiffies(100);
/* Irq disabled -> GFP_ATOMIC */ /* Irq disabled -> GFP_ATOMIC */
if ((ret = usb_submit_urb(urb, GFP_ATOMIC))) { if ((ret = usb_submit_urb(urb, GFP_ATOMIC))) {
...@@ -411,8 +410,6 @@ static int irda_usb_hard_xmit(struct sk_buff *skb, struct net_device *netdev) ...@@ -411,8 +410,6 @@ static int irda_usb_hard_xmit(struct sk_buff *skb, struct net_device *netdev)
* after each of our packets that is exact multiple of the frame size. * after each of our packets that is exact multiple of the frame size.
* This is how the dongle will detect the end of packet - Jean II */ * This is how the dongle will detect the end of packet - Jean II */
urb->transfer_flags |= URB_ZERO_PACKET; urb->transfer_flags |= URB_ZERO_PACKET;
/* Timeout need to be shorter than NET watchdog timer */
urb->timeout = msecs_to_jiffies(200);
/* Generate min turn time. FIXME: can we do better than this? */ /* Generate min turn time. FIXME: can we do better than this? */
/* Trying to a turnaround time at this level is trying to measure /* Trying to a turnaround time at this level is trying to measure
......
...@@ -1633,13 +1633,6 @@ static void stall_callback(unsigned long ptr) ...@@ -1633,13 +1633,6 @@ static void stall_callback(unsigned long ptr)
if (up->fsbr && !up->fsbr_timeout && time_after_eq(jiffies, up->fsbrtime + IDLE_TIMEOUT)) if (up->fsbr && !up->fsbr_timeout && time_after_eq(jiffies, up->fsbrtime + IDLE_TIMEOUT))
uhci_fsbr_timeout(uhci, u); uhci_fsbr_timeout(uhci, u);
/* Check if the URB timed out */
if (u->timeout && u->status == -EINPROGRESS &&
time_after_eq(jiffies, up->inserttime + u->timeout)) {
u->status = -ETIMEDOUT;
list_move_tail(&up->urb_list, &list);
}
spin_unlock(&u->lock); spin_unlock(&u->lock);
} }
spin_unlock_irqrestore(&uhci->schedule_lock, flags); spin_unlock_irqrestore(&uhci->schedule_lock, flags);
......
...@@ -704,7 +704,6 @@ static int stv680_start_stream (struct usb_stv *stv680) ...@@ -704,7 +704,6 @@ static int stv680_start_stream (struct usb_stv *stv680)
usb_rcvbulkpipe (stv680->udev, stv680->bulk_in_endpointAddr), usb_rcvbulkpipe (stv680->udev, stv680->bulk_in_endpointAddr),
stv680->sbuf[i].data, stv680->rawbufsize, stv680->sbuf[i].data, stv680->rawbufsize,
stv680_video_irq, stv680); stv680_video_irq, stv680);
urb->timeout = PENCAM_TIMEOUT * 2;
stv680->urb[i] = urb; stv680->urb[i] = urb;
err = usb_submit_urb (stv680->urb[i], GFP_KERNEL); err = usb_submit_urb (stv680->urb[i], GFP_KERNEL);
if (err) if (err)
......
...@@ -651,8 +651,6 @@ typedef void (*usb_complete_t)(struct urb *, struct pt_regs *); ...@@ -651,8 +651,6 @@ typedef void (*usb_complete_t)(struct urb *, struct pt_regs *);
* it likes with the URB, including resubmitting or freeing it. * it likes with the URB, including resubmitting or freeing it.
* @iso_frame_desc: Used to provide arrays of ISO transfer buffers and to * @iso_frame_desc: Used to provide arrays of ISO transfer buffers and to
* collect the transfer status for each buffer. * collect the transfer status for each buffer.
* @timeout: If set to zero, the urb will never timeout. Otherwise this is
* the time in jiffies that this urb will timeout in.
* *
* This structure identifies USB transfer requests. URBs must be allocated by * This structure identifies USB transfer requests. URBs must be allocated by
* calling usb_alloc_urb() and freed with a call to usb_free_urb(). * calling usb_alloc_urb() and freed with a call to usb_free_urb().
...@@ -682,8 +680,8 @@ typedef void (*usb_complete_t)(struct urb *, struct pt_regs *); ...@@ -682,8 +680,8 @@ typedef void (*usb_complete_t)(struct urb *, struct pt_regs *);
* *
* Initialization: * Initialization:
* *
* All URBs submitted must initialize dev, pipe, * All URBs submitted must initialize the dev, pipe, transfer_flags (may be
* transfer_flags (may be zero), complete, timeout (may be zero). * zero), and complete fields.
* The URB_ASYNC_UNLINK transfer flag affects later invocations of * The URB_ASYNC_UNLINK transfer flag affects later invocations of
* the usb_unlink_urb() routine. Note: Failure to set URB_ASYNC_UNLINK * the usb_unlink_urb() routine. Note: Failure to set URB_ASYNC_UNLINK
* with usb_unlink_urb() is deprecated. For synchronous unlinks use * with usb_unlink_urb() is deprecated. For synchronous unlinks use
...@@ -783,7 +781,6 @@ struct urb ...@@ -783,7 +781,6 @@ struct urb
int number_of_packets; /* (in) number of ISO packets */ int number_of_packets; /* (in) number of ISO packets */
int interval; /* (modify) transfer interval (INT/ISO) */ int interval; /* (modify) transfer interval (INT/ISO) */
int error_count; /* (return) number of ISO errors */ int error_count; /* (return) number of ISO errors */
int timeout; /* (in) timeout, in jiffies */
void *context; /* (in) context for completion */ void *context; /* (in) context for completion */
usb_complete_t complete; /* (in) completion routine */ usb_complete_t complete; /* (in) completion routine */
struct usb_iso_packet_descriptor iso_frame_desc[0]; /* (in) ISO ONLY */ struct usb_iso_packet_descriptor iso_frame_desc[0]; /* (in) ISO ONLY */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment