# This is a BitKeeper generated patch for the following project: # Project Name: greg k-h's linux 2.4 USB kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.725 -> 1.726 # drivers/usb/usb-ohci.c 1.28 -> 1.29 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 02/07/09 devik@cdi.cz 1.726 # [PATCH] USB: Oops patch for 2.4.19-rc1, ohci # # It fixes an oops some folk have reported, mostly with ISO on # slow/busy CPUs, caused by an endpoint being on the schedule # in a "never used" state. I think of those four lines of # code as a broken micro-optimization, which sometimes makes # the host controller deliver bogus TDs back to the driver, # which will then oops in its IRQ handler. # -------------------------------------------- # diff -Nru a/drivers/usb/usb-ohci.c b/drivers/usb/usb-ohci.c --- a/drivers/usb/usb-ohci.c Tue Jul 9 10:47:38 2002 +++ b/drivers/usb/usb-ohci.c Tue Jul 9 10:47:38 2002 @@ -1628,11 +1628,6 @@ if (tdHeadP == tdTailP) { if (ed->state == ED_OPER) ep_unlink(ohci, ed); - td_free (ohci, tdTailP); - ed->hwINFO = cpu_to_le32 (OHCI_ED_SKIP); - ed->state = ED_NEW; - hash_free_ed(ohci, ed); - --(usb_to_ohci (ohci->dev[edINFO & 0x7F]))->ed_cnt; } else ed->hwINFO &= ~cpu_to_le32 (OHCI_ED_SKIP); }