[PATCH 1/6] [C67x00] Add test of active flag when checking TDs

Grant Likely grant.likely at secretlab.ca
Wed Jun 13 09:02:16 EST 2007


The active flag in a TD needs to be checked to determine whether or not
the TD was processed in the frame.  Without this check, the HCD assumes
the TD completed successfully, when in reality it was not processed at all.

Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
---
 drivers/usb/c67x00/c67x00-sched.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/c67x00/c67x00-sched.c b/drivers/usb/c67x00/c67x00-sched.c
index 84b40a4..952bdab 100644
--- a/drivers/usb/c67x00/c67x00-sched.c
+++ b/drivers/usb/c67x00/c67x00-sched.c
@@ -1020,8 +1020,8 @@ static void check_td_list(struct c67x00_hcd *c67x00, struct pt_regs *regs)
 			goto cont;
 		}
 
-		if ((td->status & TD_STATUSMASK_NAK) || !td_sequence_ok(td) ||
-		    !td_acked(td))
+		if ((td->status & TD_STATUSMASK_NAK) ||
+		    !td_sequence_ok(td) || !td_acked(td) || td_active(td))
 			goto cont;
 
 		/* Sequence ok and acked, don't need to fix toggle */
-- 
1.4.4.2




More information about the Linuxppc-embedded mailing list