# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.513.3.3 -> 1.513.3.4 # drivers/usb/host/ehci-q.c 1.13 -> 1.14 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 02/05/06 david-b@pacbell.net 1.513.3.4 # [PATCH] PATCH ehci -- interrupt xfer requeue # # The fix basically removes a bit-complement that shouldn't have # been there. (Plus related simplification.) That changed the PID, # so that (for one example) only the first hub plug/unplug event could # work. So it's essential for anyone using high speed hubs. # # I'm still not quite sure why this hasn't affected more testing, but # that's life ... :) # -------------------------------------------- # diff -Nru a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c --- a/drivers/usb/host/ehci-q.c Tue May 7 15:18:22 2002 +++ b/drivers/usb/host/ehci-q.c Tue May 7 15:18:22 2002 @@ -356,11 +356,10 @@ * from an interrupt QTD */ qtd->hw_token = (qtd->hw_token - & ~__constant_cpu_to_le32 (0x8300)) + & __constant_cpu_to_le32 (0x8300)) | cpu_to_le32 (qtd->length << 16) - | __constant_cpu_to_le32 (QTD_IOC - | (EHCI_TUNE_CERR << 10) - | QTD_STS_ACTIVE); + | __constant_cpu_to_le32 (QTD_STS_ACTIVE + | (EHCI_TUNE_CERR << 10)); qtd->hw_buf [0] &= ~__constant_cpu_to_le32 (0x0fff); /* this offset, and the length above,