<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/drivers/usb/host/ehci-hcd.c, branch v4.3.2</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v4.3.2</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v4.3.2'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2015-05-31T07:14:07+00:00</updated>
<entry>
<title>drivers:usb:fsl: Fix compilation error for fsl ehci drv</title>
<updated>2015-05-31T07:14:07+00:00</updated>
<author>
<name>Ramneek Mehresh</name>
<email>ramneek.mehresh@freescale.com</email>
</author>
<published>2015-05-29T05:58:30+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=74db22cb3a16dcd782a31236eb139f5865804ae6'/>
<id>urn:sha1:74db22cb3a16dcd782a31236eb139f5865804ae6</id>
<content type='text'>
Fix compilation error in fsl ehci drv because ehci_reset()
and ehci_adjust_port_wakeup_flags() were not exported, and
are used when PM is enabled

Signed-off-by: Ramneek Mehresh &lt;ramneek.mehresh@freescale.com&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>drivers:usb:fsl:Make fsl ehci drv an independent driver module</title>
<updated>2015-05-24T16:29:36+00:00</updated>
<author>
<name>Ramneek Mehresh</name>
<email>ramneek.mehresh@freescale.com</email>
</author>
<published>2015-05-14T13:34:46+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=ca07e1c1e4a6aed2b2576256b1fdc53a9f87bb40'/>
<id>urn:sha1:ca07e1c1e4a6aed2b2576256b1fdc53a9f87bb40</id>
<content type='text'>
Make Freescale EHCI driver an independent entity from ehci-hcd.c.
This involves
	- using module_init/module_exit functions
	- using overrides structure
	- some necessary code cleanup

Signed-off-by: Ramneek Mehresh &lt;ramneek.mehresh@freescale.com&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>usb: host: ehci: use new USB_RESUME_TIMEOUT</title>
<updated>2015-04-07T17:58:35+00:00</updated>
<author>
<name>Felipe Balbi</name>
<email>balbi@ti.com</email>
</author>
<published>2015-02-13T20:42:25+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=ea16328f80ca8d74434352157f37ef60e2f55ce2'/>
<id>urn:sha1:ea16328f80ca8d74434352157f37ef60e2f55ce2</id>
<content type='text'>
Make sure we're using the new macro, so our
resume signaling will always pass certification.

Cc: &lt;stable@vger.kernel.org&gt; # v3.10+
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>USB: ehci-platform: Support ehci reset after resume quirk</title>
<updated>2015-01-09T20:25:54+00:00</updated>
<author>
<name>Wu Liang feng</name>
<email>wulf@rock-chips.com</email>
</author>
<published>2014-12-24T10:22:19+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=314b41b16a71ee824f55e2791fcb92997672da37'/>
<id>urn:sha1:314b41b16a71ee824f55e2791fcb92997672da37</id>
<content type='text'>
The Rockchip rk3288 EHCI controller doesn't properly detect
the case when a device is removed during suspend. Specifically,
when usb resume from suspend, the EHCI controller maintaining
the USB state (FLAG_CF is 1, Current Connect Status is 1),
but a USB device (like a USB camera on rk3288) may have been
disconnected actually.

Let's add a quirk to force ehci to go into the
usb_root_hub_lost_power() path and reset after resume.
This should generally reset the whole controller and all
ports and initialize everything cleanly again, and bring
the devices back up.

As part of this, rename the "hibernation" paramter of
ehci_resume() to force_reset since hibernation is simply
another case where we can't trust the autodetected status
and need to force a reset of devices.

Signed-off-by: Wu Liang feng &lt;wulf@rock-chips.com&gt;
Reviewed-by: Julius Werner &lt;jwerner@google.com&gt;
Reviewed-by: Doug Anderson &lt;dianders@google.com&gt;
Reviewed-by: Tomasz Figa &lt;tfiga@google.com&gt;
Reviewed-by: Pawel Osciak &lt;posciak@google.com&gt;
Reviewed-by: Sonny Rao &lt;sonnyrao@google.com&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Tested-by: Doug Anderson &lt;dianders@google.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>USB: host: Remove ehci-octeon and ohci-octeon drivers</title>
<updated>2014-11-25T17:19:28+00:00</updated>
<author>
<name>Alan Stern</name>
<email>stern@rowland.harvard.edu</email>
</author>
<published>2014-11-25T11:28:46+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=2193dda5eec60373c7a061c129c6ab9d658f78e9'/>
<id>urn:sha1:2193dda5eec60373c7a061c129c6ab9d658f78e9</id>
<content type='text'>
Remove special-purpose octeon drivers and instead use ehci-platform
and ohci-platform as suggested with
http://marc.info/?l=linux-mips&amp;m=140139694721623&amp;w=2

[andreas.herrmann:
    fixed compile error]

Cc: David Daney &lt;david.daney@cavium.com&gt;
Cc: Alex Smith &lt;alex.smith@imgtec.com&gt;
Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Andreas Herrmann &lt;andreas.herrmann@caviumnetworks.com&gt;
Acked-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Tested-by: Aaro Koskinen &lt;aaro.koskinen@iki.fi&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>usb: ehci: add ehci_port_power interface</title>
<updated>2014-11-03T23:34:00+00:00</updated>
<author>
<name>Michael Grzeschik</name>
<email>m.grzeschik@pengutronix.de</email>
</author>
<published>2014-10-13T01:53:03+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=11a7e59405148c855e0a9d13588930ccec02c150'/>
<id>urn:sha1:11a7e59405148c855e0a9d13588930ccec02c150</id>
<content type='text'>
The current EHCI implementation is prepared to toggle the
PORT_POWER bit to enable or disable a USB-Port. In some
cases this port power can not be just toggled by the PORT_POWER
bit, and the gpio-regulator is needed to be toggled too.

This patch defines a port power control interface ehci_port_power for
ehci core use, it toggles PORT_POWER bit as well as calls platform
defined .port_power if it is defined.

Signed-off-by: Michael Grzeschik &lt;m.grzeschik@pengutronix.de&gt;
Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Acked-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>usb: hub: rename khubd to hub_wq in documentation and comments</title>
<updated>2014-09-24T05:33:19+00:00</updated>
<author>
<name>Petr Mladek</name>
<email>pmladek@suse.cz</email>
</author>
<published>2014-09-19T15:32:23+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=37ebb54915dc42944f6ae92fe53b9531c3903801'/>
<id>urn:sha1:37ebb54915dc42944f6ae92fe53b9531c3903801</id>
<content type='text'>
USB hub has started to use a workqueue instead of kthread. Let's update
the documentation and comments here and there.

This patch mostly just replaces "khubd" with "hub_wq". There are only few
exceptions where the whole sentence was updated. These more complicated
changes can be found in the following files:

	   Documentation/usb/hotplug.txt
	   drivers/net/usb/usbnet.c
	   drivers/usb/core/hcd.c
	   drivers/usb/host/ohci-hcd.c
	   drivers/usb/host/xhci.c

Signed-off-by: Petr Mladek &lt;pmladek@suse.cz&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>USB: EHCI: unlink QHs even after the controller has stopped</title>
<updated>2014-09-19T21:59:17+00:00</updated>
<author>
<name>Alan Stern</name>
<email>stern@rowland.harvard.edu</email>
</author>
<published>2014-09-17T15:23:54+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=7312b5ddd47fee2356baa78c5516ef8e04eed452'/>
<id>urn:sha1:7312b5ddd47fee2356baa78c5516ef8e04eed452</id>
<content type='text'>
Old code in ehci-hcd tries to expedite disabling endpoints after the
controller has stopped, by destroying the endpoint's associated QH
without first unlinking the QH.  This was necessary back when the
driver wasn't so careful about keeping track of the controller's
state.

But now we are careful about it, and the driver knows that when the
controller isn't running, no unlinking delay is needed.  Furthermore,
skipping the unlink step will trigger a BUG() in qh_destroy() when the
preceding QH is released, because the link pointer will be non-NULL.

Removing the lines that skip the unlinking step and go directly to
QH_STATE_IDLE fixes the problem.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Reported-by: Joe Lawrence &lt;joe.lawrence@stratus.com&gt;
Tested-by: Joe Lawrence &lt;joe.lawrence@stratus.com&gt;
CC: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>usb: ehci: fix deadlock when threadirqs option is used</title>
<updated>2014-02-26T23:46:42+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2014-02-19T09:29:01+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=a1227f3c1030e96ebc51d677d2f636268845c5fb'/>
<id>urn:sha1:a1227f3c1030e96ebc51d677d2f636268845c5fb</id>
<content type='text'>
ehci_irq() and ehci_hrtimer_func() can deadlock on ehci-&gt;lock when
threadirqs option is used. To prevent the deadlock use
spin_lock_irqsave() in ehci_irq().

This change can be reverted when hrtimer callbacks become threaded.

Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>USB: kill #undef VERBOSE_DEBUG</title>
<updated>2013-12-03T18:34:33+00:00</updated>
<author>
<name>Oliver Neukum</name>
<email>oneukum@suse.de</email>
</author>
<published>2013-11-18T12:23:17+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=c793d08ecd944b1a180c6712bb47825e37cc0626'/>
<id>urn:sha1:c793d08ecd944b1a180c6712bb47825e37cc0626</id>
<content type='text'>
It is useless now. Straight removal.

Signed-off-by: Oliver Neukum &lt;oneukum@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
