diff options
Diffstat (limited to 'target/linux/adm5120/patches-2.6.24/913-usb_avoid_donelist_after_an_error.patch')
-rw-r--r-- | target/linux/adm5120/patches-2.6.24/913-usb_avoid_donelist_after_an_error.patch | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/target/linux/adm5120/patches-2.6.24/913-usb_avoid_donelist_after_an_error.patch b/target/linux/adm5120/patches-2.6.24/913-usb_avoid_donelist_after_an_error.patch deleted file mode 100644 index c6d7d6008b..0000000000 --- a/target/linux/adm5120/patches-2.6.24/913-usb_avoid_donelist_after_an_error.patch +++ /dev/null @@ -1,62 +0,0 @@ -Index: linux-2.6.24/drivers/usb/host/adm5120-q.c -=================================================================== ---- linux-2.6.24.orig/drivers/usb/host/adm5120-q.c -+++ linux-2.6.24/drivers/usb/host/adm5120-q.c -@@ -641,10 +641,11 @@ static int td_done(struct admhcd *ahcd, - - /*-------------------------------------------------------------------------*/ - --static inline struct td * -+static inline void - ed_halted(struct admhcd *ahcd, struct td *td, int cc, struct td *rev) - { - struct urb *urb = td->urb; -+ struct urb_priv *urb_priv = urb->hcpriv; - struct ed *ed = td->ed; - struct list_head *tmp = td->td_list.next; - __hc32 toggle = ed->hwHeadP & cpu_to_hc32(ahcd, ED_C); -@@ -657,13 +658,12 @@ ed_halted(struct admhcd *ahcd, struct td - wmb(); - ed->hwHeadP &= ~cpu_to_hc32(ahcd, ED_H); - -- /* put any later tds from this urb onto the donelist, after 'td', -- * order won't matter here: no errors, and nothing was transferred. -- * also patch the ed so it looks as if those tds completed normally. -+ /* Get rid of all later tds from this urb. We don't have -+ * to be careful: no errors and nothing was transferred. -+ * Also patch the ed so it looks as if those tds completed normally. - */ - while (tmp != &ed->td_list) { - struct td *next; -- __hc32 info; - - next = list_entry(tmp, struct td, td_list); - tmp = next->td_list.next; -@@ -678,16 +678,8 @@ ed_halted(struct admhcd *ahcd, struct td - * then we need to leave the control STATUS packet queued - * and clear ED_SKIP. - */ -- info = next->hwINFO; --#if 0 /* FIXME */ -- info |= cpu_to_hc32(ahcd, TD_DONE); --#endif -- info &= ~cpu_to_hc32(ahcd, TD_CC); -- next->hwINFO = info; -- -- next->next_dl_td = rev; -- rev = next; -- -+ list_del(&next->td_list); -+ urb_priv->td_cnt++; - ed->hwHeadP = next->hwNextTD | toggle; - } - -@@ -713,8 +705,6 @@ ed_halted(struct admhcd *ahcd, struct td - hc32_to_cpu(ahcd, td->hwINFO), - cc, cc_to_error [cc]); - } -- -- return rev; - } - - /*-------------------------------------------------------------------------*/ |