<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in ehci-timer.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>a0ef2bdf - usb: host: Replace empty define with do while</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#a0ef2bdf</link>
        <description>usb: host: Replace empty define with do whileIt&apos;s dangerous to use empty code define.Furthermore it lead to the following warning:&quot;suggest braces around empty body in an &#171;&#160;else&#160;&#187; statement&quot;So let&apos;s replace emptyness by &quot;do {} while(0)&quot;Furthermore, as suggested by Joe Perches, rename the macro to INCR.Signed-off-by: Corentin Labbe &lt;clabbe@baylibre.com&gt;Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Wed, 19 Sep 2018 19:48:53 +0000</pubDate>
        <dc:creator>Corentin Labbe &lt;clabbe@baylibre.com&gt;</dc:creator>
    </item>
<item>
        <title>d2141098 - USB: host: ehci: Remove redundant license text</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#d2141098</link>
        <description>USB: host: ehci: Remove redundant license textNow that the SPDX tag is in all USB files, that identifies the licensein a specific and legally-defined manner.  So the extra GPL text wordingcan be removed as it is no longer needed at all.This is done on a quest to remove the 700+ different ways that files inthe kernel describe the GPL license text.  And there&apos;s unneeded stufflike the address (sometimes incorrect) for the FSF which is neverneeded.No copyright headers or other non-license-description text was removed.Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Mon, 06 Nov 2017 14:37:26 +0000</pubDate>
        <dc:creator>Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;</dc:creator>
    </item>
<item>
        <title>5fd54ace - USB: add SPDX identifiers to all remaining files in drivers/usb/</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#5fd54ace</link>
        <description>USB: add SPDX identifiers to all remaining files in drivers/usb/It&apos;s good to have SPDX identifiers in all files to make it easier toaudit the kernel tree for correct licenses.Update the drivers/usb/ and include/linux/usb* files with the correctSPDX license identifier based on the license text in the file itself.The SPDX identifier is a legally binding shorthand, which can be usedinstead of the full boiler plate text.This work is based on a script and data from Thomas Gleixner, PhilippeOmbredanne, and Kate Stewart.Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Kate Stewart &lt;kstewart@linuxfoundation.org&gt;Cc: Philippe Ombredanne &lt;pombredanne@nexb.com&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;Acked-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;Acked-by: Johan Hovold &lt;johan@kernel.org&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Fri, 03 Nov 2017 10:28:30 +0000</pubDate>
        <dc:creator>Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;</dc:creator>
    </item>
<item>
        <title>fa72e6af - usb: Make use of ktime_* comparison functions</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#fa72e6af</link>
        <description>usb: Make use of ktime_* comparison functionsStart using ktime_* compare functions to make the code backportable.Now that may be a bit tricky due to recent change of ktime_t.Signed-off-by: Mariusz Skamra &lt;mariuszx.skamra@intel.com&gt;Acked-by: Kuppuswamy Sathyanarayanan &lt;sathyanarayanan.kuppuswamy@intel.com&gt;Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Fri, 26 May 2017 10:15:59 +0000</pubDate>
        <dc:creator>Mariusz Skamra &lt;mariuszx.skamra@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>8b0e1953 - ktime: Cleanup ktime_set() usage</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#8b0e1953</link>
        <description>ktime: Cleanup ktime_set() usagektime_set(S,N) was required for the timespec storage type and is stilluseful for situations where a Seconds and Nanoseconds part of a time valueneeds to be converted. For anything where the Seconds argument is 0, thisis pointless and can be replaced with a simple assignment.Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Sun, 25 Dec 2016 11:30:41 +0000</pubDate>
        <dc:creator>Thomas Gleixner &lt;tglx@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>2456e855 - ktime: Get rid of the union</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#2456e855</link>
        <description>ktime: Get rid of the unionktime is a union because the initial implementation stored the time inscalar nanoseconds on 64 bit machine and in a endianess optimized timespecvariant for 32bit machines. The Y2038 cleanup removed the timespec variantand switched everything to scalar nanoseconds. The union remained, butbecome completely pointless.Get rid of the union and just keep ktime_t as simple typedef of type s64.The conversion was done with coccinelle and some manual mopping up.Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Sun, 25 Dec 2016 10:38:40 +0000</pubDate>
        <dc:creator>Thomas Gleixner &lt;tglx@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>87d61912 - USB: EHCI: add a delay when unlinking an active QH</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#87d61912</link>
        <description>USB: EHCI: add a delay when unlinking an active QHMichael Reutman reports that an AMD/ATI EHCI host controller on one ofhis computers does not stop transferring data when an active bulk QHis unlinked from the async schedule.  Apparently that host controllerfails to implement the IAA mechanism correctly when an active QH isunlinked.  This leads to data corruption, because the controllercontinues to update the QH in memory when the driver doesn&apos;t expectit.  As a result, the next URB submitted for that QH can hang, becausethe link pointers for the TD queue have been messed up.  Thismisbehavior is observed quite regularly.To be fair, the EHCI spec (section 4.8.2) says that active QHs shouldnot be unlinked.  It goes on to recommend a procedure that involveswaiting for the QH to go inactive before unlinking it.  In the realworld this is impractical, not least because the QH may _never_ goinactive.  (What were they thinking?)  Sometimes we have no choice butto unlink an active QH.In an attempt to avoid the problems that can ensue, this patch changeshow the driver decides when the unlink is complete.  In addition towaiting through two IAA cycles, in cases where the QH was not known tobe inactive beforehand we now wait until a 2-ms period has elapsedwith the host controller making no change to the QH data structure(the hw_current and hw_token fields in particular).  The intuitionhere is that after such a long period, the endpoint must be NAKing andhopefully the QH has been dropped from the host controller&apos;s internalcache.  There&apos;s no way to know if this reasoning is really valid --the spec is no help in this regard -- but at least this approach fixesMichael&apos;s problem.The test for whether the QH is already known to be inactive involvesthe reason for unlinking the QH originally.  If it was unlinkedbecause it had halted, or it stopped in response to a short read, orit overlaid a dummy TD (a silicon bug), then it certainly is inactive.If it was unlinked because the TD queue was empty and no TDs have beenadded to the queue in the meantime, then it must be inactive.  Or ifthe hardware status indicates that the QH is currently halted (even ifthat wasn&apos;t the reason for unlinking it), then it is inactive.Otherwise, if none of those checks apply, we go through the 2-msdelay.Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Reported-by: Michael Reutman &lt;mreutman@epiqsolutions.com&gt;Tested-by: Michael Reutman &lt;mreutman@epiqsolutions.com&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Mon, 25 Jan 2016 20:45:25 +0000</pubDate>
        <dc:creator>Alan Stern &lt;stern@rowland.harvard.edu&gt;</dc:creator>
    </item>
<item>
        <title>f96fba0d - USB: EHCI: improve handling of the ehci-&gt;iaa_in_progress flag</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#f96fba0d</link>
        <description>USB: EHCI: improve handling of the ehci-&gt;iaa_in_progress flagThis patch improves the way ehci-hcd handles the iaa_in_progress flag.The current code is somewhat careless in this regard:	The flag is meaningless when the root hub isn&apos;t running, most	particularly after the root hub has been suspended.  But in	start_iaa_cycle(), the driver checks the flag before checking	the root hub&apos;s state.  They should be checked in the opposite	order.	That routine also sets the flag too early, before it has	definitely committed to starting an IAA cycle.	The flag is turned off in end_unlink_async().  Upcoming	changes will call that routine at other times, not just at the	end of an IAA cycle.  The two actions are logically separate	(although related), so we separate out a new routine to be	called in place of end_unlink_async() whenever an IAA cycle	ends: end_iaa_cycle().	iaa_in_progress should be turned off when the root hub is	suspended -- we certainly don&apos;t want it still to be set when	the root hub resumes.  Therefore the call to	end_unlink_async() in ehci_bus_suspend() should also be	replaced with a call to end_iaa_cycle().Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Mon, 25 Jan 2016 20:44:16 +0000</pubDate>
        <dc:creator>Alan Stern &lt;stern@rowland.harvard.edu&gt;</dc:creator>
    </item>
<item>
        <title>fcc5184e - USB: EHCI: store reason for unlinking a QH</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#fcc5184e</link>
        <description>USB: EHCI: store reason for unlinking a QHThis patch replaces the &quot;exception&quot; bitflag in the ehci_qh structurewith a more explicit &quot;unlink_reason&quot; bitmask.  This is for use in thefollowing patch, where we will need to have a good idea of thereason for unlinking a QH, not just &quot;something exceptional happened&quot;.Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Tested-by: Michael Reutman &lt;mreutman@epiqsolutions.com&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Mon, 25 Jan 2016 20:42:04 +0000</pubDate>
        <dc:creator>Alan Stern &lt;stern@rowland.harvard.edu&gt;</dc:creator>
    </item>
<item>
        <title>9118f9eb - USB: EHCI: improve interrupt qh unlink</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#9118f9eb</link>
        <description>USB: EHCI: improve interrupt qh unlinkehci-hcd currently unlinks an interrupt QH when it becomes empty, thatis, after its last URB completes.  This works well because in almostall cases, the completion handler for an interrupt URB resubmits theURB; therefore the QH doesn&apos;t become empty and doesn&apos;t get unlinked.When we start using tasklets for URB completion, this scheme won&apos;t workas well.  The resubmission won&apos;t occur until the tasklet runs, whichwill be some time after the completion is queued with the tasklet.During that delay, the QH will be empty and so will be unlinkedunnecessarily.To prevent this problem, this patch adds a 5-ms time delay before emptyinterrupt QHs are unlinked.  Most often, during that time the interruptURB will be resubmitted and thus we can avoid unlinking the QH.Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Ming Lei &lt;ming.lei@canonical.com&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Wed, 03 Jul 2013 14:53:10 +0000</pubDate>
        <dc:creator>Ming Lei &lt;ming.lei@canonical.com&gt;</dc:creator>
    </item>
<item>
        <title>214ac7a0 - USB: EHCI: improve end_unlink_async()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#214ac7a0</link>
        <description>USB: EHCI: improve end_unlink_async()This patch (as1665) changes the way ehci-hcd&apos;s end_unlink_async()routine works in order to avoid recursive execution and to be moreefficient:	Now when an IAA cycle ends, a new one gets started up right	away (if it is needed) instead of waiting until the	just-unlinked QH has been processed.	The async_iaa list is renamed to async_idle, which better	expresses its new purpose: It is now the list of QHs which are	now completely idle and are waiting to be processed by	end_unlink_async().	A new flag is added to track whether an IAA cycle is in	progress, because the list formerly known as async_iaa no	longer stores the QHs waiting for the IAA to finish.	The decision about how many QHs to process when an IAA cycle	ends is now made at the end of the cycle, when we know the	current state of the hardware, rather than at the beginning.	This means a bunch of logic got moved from start_iaa_cycle()	to end_unlink_async().Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Fri, 22 Mar 2013 17:31:58 +0000</pubDate>
        <dc:creator>Alan Stern &lt;stern@rowland.harvard.edu&gt;</dc:creator>
    </item>
<item>
        <title>6e018751 - USB: EHCI: convert singly-linked lists to list_heads</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#6e018751</link>
        <description>USB: EHCI: convert singly-linked lists to list_headsThis patch (as1664) converts ehci-hcd&apos;s async_unlink, async_iaa, andintr_unlink from singly-linked lists to standard doubly-linkedlist_heads.  Originally it didn&apos;t seem necessary to use list_heads,because items are always added to and removed from these lists in FIFOorder.  But now with more list processing going on, it&apos;s easier to usethe standard routines than continue with a roll-your-own approach.I don&apos;t know if the code ends up being notably shorter, but thepatterns will be more familiar to any kernel hacker.Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Fri, 22 Mar 2013 17:31:45 +0000</pubDate>
        <dc:creator>Alan Stern &lt;stern@rowland.harvard.edu&gt;</dc:creator>
    </item>
<item>
        <title>417c765a - USB: EHCI: fix up incorrect merge resolution</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#417c765a</link>
        <description>USB: EHCI: fix up incorrect merge resolutionThis patch (as1671) fixes up an incorrect resolution of a mergeconflict between Greg KH&apos;s usb-linus branch and his usb-next branch.Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Thu, 21 Mar 2013 16:48:42 +0000</pubDate>
        <dc:creator>Alan Stern &lt;stern@rowland.harvard.edu&gt;</dc:creator>
    </item>
<item>
        <title>60fd4aa7 - USB: EHCI: reorganize ehci_iaa_watchdog()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#60fd4aa7</link>
        <description>USB: EHCI: reorganize ehci_iaa_watchdog()This patch (as1635) rearranges the control-flow logic inehci_iaa_watchdog() slightly to agree better with the comments.  Italso changes a verbose-debug message to a regular debug message.Expiration of the IAA watchdog is an unusual event and can lead toproblems; we need to know about it if it happens during debugging.  Itshould not be necessary to set a &quot;verbose&quot; compilation option.No behavioral changes other than the debug message.  Lots of apparentchanges to the source text, though, because the indentation level wasdecreased.Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Mon, 18 Mar 2013 16:05:19 +0000</pubDate>
        <dc:creator>Alan Stern &lt;stern@rowland.harvard.edu&gt;</dc:creator>
    </item>
<item>
        <title>6d5df897 - USB: EHCI: decrease schedule-status poll timeout</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#6d5df897</link>
        <description>USB: EHCI: decrease schedule-status poll timeoutThis patch (as1657) decreases the timeout used by ehci-hcd for pollingthe async and periodic schedule statuses.  The timeout is currentlyset to 20 ms, which is much too high.  Controllers should alwaysupdate the schedule status within one or two ms of being told to doso; if they don&apos;t then something is wrong.Furthermore, bug reports have shown that sometimes controllers(particularly those made by VIA) don&apos;t update the status bit at all,even when the schedule does change state.  When this happens, pollingfor 20 ms would cause an unnecessarily long delay.The delay is reduced to somewhere between 2 and 4 ms, depending on theslop allowed by the kernel&apos;s high-res timers.Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Mon, 18 Mar 2013 16:04:54 +0000</pubDate>
        <dc:creator>Alan Stern &lt;stern@rowland.harvard.edu&gt;</dc:creator>
    </item>
<item>
        <title>d714aaf6 - USB: EHCI: fix regression in QH unlinking</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#d714aaf6</link>
        <description>USB: EHCI: fix regression in QH unlinkingThis patch (as1670) fixes a regression caused by commit6402c796d3b4205d3d7296157956c5100a05d7d6 (USB: EHCI: work aroundsilicon bug in Intel&apos;s EHCI controllers).  The workaround goes throughtwo IAA cycles for each QH being unlinked.  During the first cycle,the QH is not added to the async_iaa list (because it isn&apos;t fully gonefrom the hardware yet), which means that list will be empty.Unfortunately, I forgot to update the IAA watchdog timer routine.  Itthinks that an empty async_iaa list means the timer expiration was anerror, which isn&apos;t true any more.  This problem didn&apos;t show up duringinitial testing because the controllers being tested all had workingIAA interrupts.  But not all controllers do, and when the watchdogtimer expires, the empty-list check prevents the second IAA cycle fromstarting.  As a result, URB unlinks never complete.  The check needsto be removed.Among the symptoms of the regression are processes stuck in D waitstates and hangs during system shutdown.Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Reported-and-tested-by: Stephen Warren &lt;swarren@wwwdotorg.org&gt;Reported-and-tested-by: Sven Joachim &lt;svenjoac@gmx.de&gt;Reported-by: Andreas Bombe &lt;aeb@debian.org&gt;Cc: stable &lt;stable@vger.kernel.org&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Wed, 20 Mar 2013 19:07:26 +0000</pubDate>
        <dc:creator>Alan Stern &lt;stern@rowland.harvard.edu&gt;</dc:creator>
    </item>
<item>
        <title>221f8dfc - USB: EHCI: revert &quot;remove ASS/PSS polling timeout&quot;</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#221f8dfc</link>
        <description>USB: EHCI: revert &quot;remove ASS/PSS polling timeout&quot;This patch (as1649) reverts commit55bcdce8a8228223ec4d17d8ded8134ed265d2c5 (USB: EHCI: remove ASS/PSSpolling timeout).  That commit was written under the assumption thatsome controllers may take a very long time to turn off their async andperiodic schedules.  It now appears that in fact the schedules do getturned off reasonably quickly, but some controllers occasionally leavethe schedules&apos; status bits turned on and consequently ehci-hcd can&apos;ttell that the schedules are off.VIA controllers in particular have this problem.  ehci-hcd tells thehardware to turn off the async schedule, the schedule does get turnedoff, but the status bit remains on.  Since the EHCI spec requires thatthe schedules not be re-enabled until the previous disable has takeneffect, with an unlimited timeout the async schedule never gets turnedback on.  The resulting symptom is that the system is unable tocommunicate with USB devices.Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Reported-and-tested-by: Ronald &lt;ronald645@gmail.com&gt;Reported-and-tested-by: Paul Hartman &lt;paul.hartman@gmail.com&gt;Reported-and-tested-by: Dieter N&#252;tzel &lt;dieter@nuetzel-hh.de&gt;Reported-and-tested-by: Jean Delvare &lt;khali@linux-fr.org&gt;Cc: stable &lt;stable@vger.kernel.org&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Tue, 26 Feb 2013 18:43:41 +0000</pubDate>
        <dc:creator>Alan Stern &lt;stern@rowland.harvard.edu&gt;</dc:creator>
    </item>
<item>
        <title>55bcdce8 - USB: EHCI: remove ASS/PSS polling timeout</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#55bcdce8</link>
        <description>USB: EHCI: remove ASS/PSS polling timeoutThis patch (as1647) attempts to work around a problem that seems toaffect some nVidia EHCI controllers.  They sometimes take a very longtime to turn off their async or periodic schedules.  I don&apos;t know ifthis is a result of other problems, but in any case it seems wise notto depend on schedule enables or disables taking effect in anyspecific length of time.The patch removes the existing 20-ms timeout for enabling anddisabling the schedules.  The driver will now continue to poll theschedule state at 1-ms intervals until the controller finally decidesto obey the most recent command issued by the driver.  Just in casethis hides a problem, a debugging message will be logged if thecontroller takes longer than 20 polls.I don&apos;t know if this will actually fix anything, but it can&apos;t hurt.Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Tested-by: Piergiorgio Sartor &lt;piergiorgio.sartor@nexgo.de&gt;CC: &lt;stable@vger.kernel.org&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Fri, 25 Jan 2013 21:52:45 +0000</pubDate>
        <dc:creator>Alan Stern &lt;stern@rowland.harvard.edu&gt;</dc:creator>
    </item>
<item>
        <title>d16ba487 - USB: EHCI: convert warning messages to debug-level</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#d16ba487</link>
        <description>USB: EHCI: convert warning messages to debug-levelThis patch (as1606) converts two warning messages in the ehci-hcddriver to debug messages, and adds a little extra information to each.The log messages occur when an EHCI controller takes too long (morethan 20 ms) to turn its async or periodic schedule on or off.  If thishappens at all, it&apos;s liable to happen quite often and there&apos;s no pointspamming the system log with these warnings.  Furthermore, there&apos;snothing much we can do about it when the problem happens.Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Reported-and-tested-by: Thomas Voegtle &lt;tv@lio96.de&gt;Cc: stable &lt;stable@vger.kernel.org&gt; # [3.6]Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Wed, 19 Sep 2012 21:02:29 +0000</pubDate>
        <dc:creator>Alan Stern &lt;stern@rowland.harvard.edu&gt;</dc:creator>
    </item>
<item>
        <title>18aafe64 - USB: EHCI: use hrtimer for the I/O watchdog</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/usb/host/ehci-timer.c#18aafe64</link>
        <description>USB: EHCI: use hrtimer for the I/O watchdogThis patch (as1586) replaces the kernel timer used by ehci-hcd as anI/O watchdog with an hrtimer event.Unlike in the current code, the watchdog event is now always enabledwhenever any isochronous URBs are active.  This will prevent bugscaused by the periodic schedule wrapping around with no completioninterrupts; the watchdog handler is guaranteed to scan the isochronoustransfers at least once during each iteration of the schedule.  Theextra overhead will be negligible: one timer interrupt every 100 ms.Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/usb/host/ehci-timer.c</description>
        <pubDate>Wed, 11 Jul 2012 15:23:04 +0000</pubDate>
        <dc:creator>Alan Stern &lt;stern@rowland.harvard.edu&gt;</dc:creator>
    </item>
</channel>
</rss>
