Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 22060
b: refs/heads/master
c: 0ed8fee
h: refs/heads/master
v: v3
  • Loading branch information
Alan Stern authored and Greg Kroah-Hartman committed Mar 20, 2006
1 parent c5b3003 commit af413bf
Show file tree
Hide file tree
Showing 5 changed files with 280 additions and 371 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: af0bb5998abe8ed28ee354dd4c71689cacdc91e9
refs/heads/master: 0ed8fee1c1d38a62e981025ba40b5eba30c4ce2a
1 change: 0 additions & 1 deletion trunk/drivers/usb/host/uhci-debug.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,6 @@ static int uhci_show_urbp(struct urb_priv *urbp, char *buf, int len, int space)
}

out += sprintf(out, "%s", (urbp->fsbr ? " FSBR" : ""));
out += sprintf(out, "%s", (urbp->fsbr_timeout ? " FSBR_TO" : ""));

if (urbp->urb->status != -EINPROGRESS)
out += sprintf(out, " Status=%d", urbp->urb->status);
Expand Down
2 changes: 0 additions & 2 deletions trunk/drivers/usb/host/uhci-hcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -491,8 +491,6 @@ static int uhci_start(struct usb_hcd *hcd)
spin_lock_init(&uhci->lock);

INIT_LIST_HEAD(&uhci->td_remove_list);
INIT_LIST_HEAD(&uhci->urb_list);
INIT_LIST_HEAD(&uhci->complete_list);
INIT_LIST_HEAD(&uhci->idle_qh_list);

init_waitqueue_head(&uhci->waitqh);
Expand Down
15 changes: 5 additions & 10 deletions trunk/drivers/usb/host/uhci-hcd.h
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,10 @@ struct uhci_qh {

unsigned int unlink_frame; /* When the QH was unlinked */
int state; /* QH_STATE_xxx; see above */

unsigned int initial_toggle:1; /* Endpoint's current toggle value */
unsigned int needs_fixup:1; /* Must fix the TD toggle values */
unsigned int is_stopped:1; /* Queue was stopped by an error */
} __attribute__((aligned(16)));

/*
Expand Down Expand Up @@ -384,6 +388,7 @@ struct uhci_hcd {

struct uhci_td *term_td; /* Terminating TD, see UHCI bug */
struct uhci_qh *skelqh[UHCI_NUM_SKELQH]; /* Skeleton QHs */
struct uhci_qh *next_qh; /* Next QH to scan */

spinlock_t lock;

Expand Down Expand Up @@ -413,16 +418,10 @@ struct uhci_hcd {
unsigned long resuming_ports;
unsigned long ports_timeout; /* Time to stop signalling */

/* Main list of URBs currently controlled by this HC */
struct list_head urb_list;

/* List of TDs that are done, but waiting to be freed (race) */
struct list_head td_remove_list;
unsigned int td_remove_age; /* Age in frames */

/* List of URBs awaiting completion callback */
struct list_head complete_list;

struct list_head idle_qh_list; /* Where the idle QHs live */

int rh_numports; /* Number of root-hub ports */
Expand All @@ -448,18 +447,14 @@ static inline struct usb_hcd *uhci_to_hcd(struct uhci_hcd *uhci)
* Private per-URB data
*/
struct urb_priv {
struct list_head urb_list;
struct list_head node; /* Node in the QH's urbp list */

struct urb *urb;

struct uhci_qh *qh; /* QH for this URB */
struct list_head td_list;

unsigned long fsbrtime; /* In jiffies */

unsigned fsbr : 1; /* URB turned on FSBR */
unsigned fsbr_timeout : 1; /* URB timed out on FSBR */
unsigned short_transfer : 1; /* URB got a short transfer, no
* need to rescan */
};
Expand Down
Loading

0 comments on commit af413bf

Please sign in to comment.