public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.6.14-rc1-mm1: usb breaks suspend
@ 2005-10-17 10:01 Pavel Machek
  2005-10-17 18:54 ` [linux-pm] " Alan Stern
  0 siblings, 1 reply; 7+ messages in thread
From: Pavel Machek @ 2005-10-17 10:01 UTC (permalink / raw)
  To: kernel list, Linux-pm mailing list, linux-usb-devel

Hi!

In -mm, usb breaks suspend to disk. Compiled without
CONFIG_USB_SUSPEND, it just plainly fails; iwth USB_SUSPEND, it
actually tries to suspend USB, but it fails and machine refuses to
suspend. Is it known or is it worth debugging?
								Pavel
-- 
Thanks, Sharp!

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [linux-pm] 2.6.14-rc1-mm1: usb breaks suspend
  2005-10-17 10:01 2.6.14-rc1-mm1: usb breaks suspend Pavel Machek
@ 2005-10-17 18:54 ` Alan Stern
  2005-10-17 21:11   ` Rafael J. Wysocki
  2005-10-18  0:13   ` [linux-pm] 2.6.14-rc1-mm1: usb breaks suspend Pavel Machek
  0 siblings, 2 replies; 7+ messages in thread
From: Alan Stern @ 2005-10-17 18:54 UTC (permalink / raw)
  To: Pavel Machek; +Cc: kernel list, Linux-pm mailing list, linux-usb-devel

On Mon, 17 Oct 2005, Pavel Machek wrote:

> Hi!
> 
> In -mm, usb breaks suspend to disk. Compiled without
> CONFIG_USB_SUSPEND, it just plainly fails; iwth USB_SUSPEND, it
> actually tries to suspend USB, but it fails and machine refuses to
> suspend. Is it known or is it worth debugging?

More details please.

2.6.14-rc1 is a little old by now.  With 2.6.14-rc4 I don't know
about -mm, but there's a problem with the uhci-hcd driver in Greg K-H's
tree.  I submitted a patch earlier today:

http://marc.theaimsgroup.com/?l=linux-usb-devel&m=112956023807659&w=2

Alan Stern


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [linux-pm] 2.6.14-rc1-mm1: usb breaks suspend
  2005-10-17 18:54 ` [linux-pm] " Alan Stern
@ 2005-10-17 21:11   ` Rafael J. Wysocki
  2005-10-18  1:01     ` Alan Stern
  2005-10-18  0:13   ` [linux-pm] 2.6.14-rc1-mm1: usb breaks suspend Pavel Machek
  1 sibling, 1 reply; 7+ messages in thread
From: Rafael J. Wysocki @ 2005-10-17 21:11 UTC (permalink / raw)
  To: Alan Stern
  Cc: Pavel Machek, kernel list, Linux-pm mailing list, linux-usb-devel

Hi,

On Monday, 17 of October 2005 20:54, Alan Stern wrote:
> On Mon, 17 Oct 2005, Pavel Machek wrote:
> 
> > Hi!
> > 
> > In -mm, usb breaks suspend to disk. Compiled without
> > CONFIG_USB_SUSPEND, it just plainly fails; iwth USB_SUSPEND, it
> > actually tries to suspend USB, but it fails and machine refuses to
> > suspend. Is it known or is it worth debugging?
> 
> More details please.

Fails for me too on x86-64, with the following messages:

Stopping tasks: ========================|
Freeing memory... done (14642 pages freed)
Suspending device card0-0
Suspending device 2-2:1.0
Suspending device 2-2
Suspending device 3-0:1.0
hub 3-0:1.0: no suspend?
Suspending device usb3
Could not suspend device usb3: error -16
Some devices failed to suspend
Restarting tasks... done

where the USB-related info returned by the kernel is this:

ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ACPI: PCI Interrupt Link [LUS0] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [LUS0] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:00:02.0 to 64
ohci_hcd 0000:00:02.0: OHCI Host Controller
ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 1
ohci_hcd 0000:00:02.0: irq 11, io mem 0xfebfb000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
ACPI: PCI Interrupt Link [LUS1] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:02.1[B] -> Link [LUS1] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:00:02.1 to 64
ohci_hcd 0000:00:02.1: OHCI Host Controller
ohci_hcd 0000:00:02.1: new USB bus registered, assigned bus number 2
ohci_hcd 0000:00:02.1: irq 11, io mem 0xfebfc000
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
ACPI: PCI Interrupt Link [LUS2] enabled at IRQ 5
usb 2-2: new low speed USB device using ohci_hcd and address 2
PCI: setting IRQ 5 as level-triggered
ACPI: PCI Interrupt 0000:00:02.2[C] -> Link [LUS2] -> GSI 5 (level, low) -> IRQ 5
PCI: Setting latency timer of device 0000:00:02.2 to 64
ehci_hcd 0000:00:02.2: EHCI Host Controller
ehci_hcd 0000:00:02.2: debug port 1
ehci_hcd 0000:00:02.2: new USB bus registered, assigned bus number 3
ehci_hcd 0000:00:02.2: irq 5, io mem 0xfebfdc00
PCI: cache line size of 64 is not supported by device 0000:00:02.2
ehci_hcd 0000:00:02.2: park 0
ehci_hcd 0000:00:02.2: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004
usb 2-2: device descriptor read/all, error -110
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 6 ports detected
ohci_hcd 0000:00:02.1: wakeup
usb 2-2: new low speed USB device using ohci_hcd and address 4
usbcore: registered new driver hiddev
input: Logitech USB Receiver//class/input_dev as input3
input: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:02.1-2
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver

Greetings,
Rafael

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [linux-pm] 2.6.14-rc1-mm1: usb breaks suspend
  2005-10-17 18:54 ` [linux-pm] " Alan Stern
  2005-10-17 21:11   ` Rafael J. Wysocki
@ 2005-10-18  0:13   ` Pavel Machek
  1 sibling, 0 replies; 7+ messages in thread
From: Pavel Machek @ 2005-10-18  0:13 UTC (permalink / raw)
  To: Alan Stern; +Cc: kernel list, Linux-pm mailing list, linux-usb-devel

Hi!

> > In -mm, usb breaks suspend to disk. Compiled without
> > CONFIG_USB_SUSPEND, it just plainly fails; iwth USB_SUSPEND, it
> > actually tries to suspend USB, but it fails and machine refuses to
> > suspend. Is it known or is it worth debugging?
> 
> More details please.
> 
> 2.6.14-rc1 is a little old by now.  With 2.6.14-rc4 I don't know

2.6.14-rc4-mm1, sorry.

> about -mm, but there's a problem with the uhci-hcd driver in Greg K-H's
> tree.  I submitted a patch earlier today:
> 
> http://marc.theaimsgroup.com/?l=linux-usb-devel&m=112956023807659&w=2

Yes, this patch helps. [I still get quite a lot of debug messages, but
that's another story].
								Pavel
-- 
Boycott Kodak -- for their patent abuse against Java.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [linux-pm] 2.6.14-rc1-mm1: usb breaks suspend
  2005-10-17 21:11   ` Rafael J. Wysocki
@ 2005-10-18  1:01     ` Alan Stern
  2005-10-19 13:13       ` 2.6.14-rc4-mm1: USB suspend regression (was: Re: 2.6.14-rc1-mm1: usb breaks suspend) Rafael J. Wysocki
  0 siblings, 1 reply; 7+ messages in thread
From: Alan Stern @ 2005-10-18  1:01 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Pavel Machek, kernel list, Linux-pm mailing list, linux-usb-devel

On Mon, 17 Oct 2005, Rafael J. Wysocki wrote:

> Hi,
> 
> On Monday, 17 of October 2005 20:54, Alan Stern wrote:
> > On Mon, 17 Oct 2005, Pavel Machek wrote:
> > 
> > > Hi!
> > > 
> > > In -mm, usb breaks suspend to disk. Compiled without
> > > CONFIG_USB_SUSPEND, it just plainly fails; iwth USB_SUSPEND, it
> > > actually tries to suspend USB, but it fails and machine refuses to
> > > suspend. Is it known or is it worth debugging?
> > 
> > More details please.
> 
> Fails for me too on x86-64, with the following messages:
> 
> Stopping tasks: ========================|
> Freeing memory... done (14642 pages freed)
> Suspending device card0-0
> Suspending device 2-2:1.0
> Suspending device 2-2
> Suspending device 3-0:1.0
> hub 3-0:1.0: no suspend?
> Suspending device usb3
> Could not suspend device usb3: error -16
> Some devices failed to suspend
> Restarting tasks... done
> 
> where the USB-related info returned by the kernel is this:
> 
> ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
> ACPI: PCI Interrupt Link [LUS0] enabled at IRQ 11
> ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [LUS0] -> GSI 11 (level, low) -> IRQ 11
> PCI: Setting latency timer of device 0000:00:02.0 to 64
> ohci_hcd 0000:00:02.0: OHCI Host Controller
> ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 1
> ohci_hcd 0000:00:02.0: irq 11, io mem 0xfebfb000
> hub 1-0:1.0: USB hub found
> hub 1-0:1.0: 3 ports detected
> ACPI: PCI Interrupt Link [LUS1] enabled at IRQ 11
> ACPI: PCI Interrupt 0000:00:02.1[B] -> Link [LUS1] -> GSI 11 (level, low) -> IRQ 11
> PCI: Setting latency timer of device 0000:00:02.1 to 64
> ohci_hcd 0000:00:02.1: OHCI Host Controller
> ohci_hcd 0000:00:02.1: new USB bus registered, assigned bus number 2
> ohci_hcd 0000:00:02.1: irq 11, io mem 0xfebfc000
> hub 2-0:1.0: USB hub found
> hub 2-0:1.0: 3 ports detected
> ACPI: PCI Interrupt Link [LUS2] enabled at IRQ 5
> usb 2-2: new low speed USB device using ohci_hcd and address 2
> PCI: setting IRQ 5 as level-triggered
> ACPI: PCI Interrupt 0000:00:02.2[C] -> Link [LUS2] -> GSI 5 (level, low) -> IRQ 5
> PCI: Setting latency timer of device 0000:00:02.2 to 64
> ehci_hcd 0000:00:02.2: EHCI Host Controller
> ehci_hcd 0000:00:02.2: debug port 1
> ehci_hcd 0000:00:02.2: new USB bus registered, assigned bus number 3
> ehci_hcd 0000:00:02.2: irq 5, io mem 0xfebfdc00
> PCI: cache line size of 64 is not supported by device 0000:00:02.2
> ehci_hcd 0000:00:02.2: park 0
> ehci_hcd 0000:00:02.2: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004
> usb 2-2: device descriptor read/all, error -110
> hub 3-0:1.0: USB hub found
> hub 3-0:1.0: 6 ports detected
> ohci_hcd 0000:00:02.1: wakeup
> usb 2-2: new low speed USB device using ohci_hcd and address 4
> usbcore: registered new driver hiddev
> input: Logitech USB Receiver//class/input_dev as input3
> input: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:02.1-2
> usbcore: registered new driver usbhid
> drivers/usb/input/hid-core.c: v2.6:USB HID core driver
> 
> Greetings,
> Rafael

Weird.

I can't tell what happened.  But I can tell you that USB development
goes on in Greg K-H's tree.  The current version is available as a patch
based on 2.6.14-rc4:

http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/gregkh-all-2.6.14-rc4.patch

On top of that you should apply the patch for uhci-hcd that I mentioned 
before.  With this combination I have had no problem suspending three 
different machines.  Sometimes they even wake up, too!  :-)

Be warned: That particular kernel has a bug which sometimes causes 
"modprobe ehci-hcd" to hang.  In case this happens to you, I've included a 
patch below with a temporary workaround.  Untested, but it should work.

Alan Stern



--- a/drivers/usb/host/ehci-pci.c	Thu Oct 13 17:04:13 2005
+++ b/drivers/usb/host/ehci-pci.c	Mon Oct 17 20:57:21 2005
@@ -66,6 +66,7 @@
 	u32			temp;
 	unsigned		count = 256/4;
 
+	spin_lock_init (&ehci->lock);
 	ehci->caps = hcd->regs;
 	ehci->regs = hcd->regs + HC_LENGTH(readl(&ehci->caps->hc_capbase));
 	dbg_hcs_params(ehci, "reset");


^ permalink raw reply	[flat|nested] 7+ messages in thread

* 2.6.14-rc4-mm1: USB suspend regression (was: Re: 2.6.14-rc1-mm1: usb breaks suspend)
  2005-10-18  1:01     ` Alan Stern
@ 2005-10-19 13:13       ` Rafael J. Wysocki
  2005-10-19 14:53         ` 2.6.14-rc4-mm1: USB suspend regression Mark Lord
  0 siblings, 1 reply; 7+ messages in thread
From: Rafael J. Wysocki @ 2005-10-19 13:13 UTC (permalink / raw)
  To: Alan Stern
  Cc: Pavel Machek, kernel list, Linux-pm mailing list, linux-usb-devel,
	Greg KH

Hi,

On Tuesday, 18 of October 2005 03:01, Alan Stern wrote:
> On Mon, 17 Oct 2005, Rafael J. Wysocki wrote:
> > On Monday, 17 of October 2005 20:54, Alan Stern wrote:
> > > On Mon, 17 Oct 2005, Pavel Machek wrote:
> > > 
> > > > Hi!
> > > > 
> > > > In -mm, usb breaks suspend to disk. Compiled without
> > > > CONFIG_USB_SUSPEND, it just plainly fails; iwth USB_SUSPEND, it
> > > > actually tries to suspend USB, but it fails and machine refuses to
> > > > suspend. Is it known or is it worth debugging?
> > > 
> > > More details please.
> > 
> > Fails for me too on x86-64, with the following messages:
> > 
> > Stopping tasks: ========================|
> > Freeing memory... done (14642 pages freed)
> > Suspending device card0-0
> > Suspending device 2-2:1.0
> > Suspending device 2-2
> > Suspending device 3-0:1.0
> > hub 3-0:1.0: no suspend?
> > Suspending device usb3
> > Could not suspend device usb3: error -16
> > Some devices failed to suspend
> > Restarting tasks... done
> > 
> > where the USB-related info returned by the kernel is this:
> > 
> > ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
> > ACPI: PCI Interrupt Link [LUS0] enabled at IRQ 11
> > ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [LUS0] -> GSI 11 (level, low) -> IRQ 11
> > PCI: Setting latency timer of device 0000:00:02.0 to 64
> > ohci_hcd 0000:00:02.0: OHCI Host Controller
> > ohci_hcd 0000:00:02.0: new USB bus registered, assigned bus number 1
> > ohci_hcd 0000:00:02.0: irq 11, io mem 0xfebfb000
> > hub 1-0:1.0: USB hub found
> > hub 1-0:1.0: 3 ports detected
> > ACPI: PCI Interrupt Link [LUS1] enabled at IRQ 11
> > ACPI: PCI Interrupt 0000:00:02.1[B] -> Link [LUS1] -> GSI 11 (level, low) -> IRQ 11
> > PCI: Setting latency timer of device 0000:00:02.1 to 64
> > ohci_hcd 0000:00:02.1: OHCI Host Controller
> > ohci_hcd 0000:00:02.1: new USB bus registered, assigned bus number 2
> > ohci_hcd 0000:00:02.1: irq 11, io mem 0xfebfc000
> > hub 2-0:1.0: USB hub found
> > hub 2-0:1.0: 3 ports detected
> > ACPI: PCI Interrupt Link [LUS2] enabled at IRQ 5
> > usb 2-2: new low speed USB device using ohci_hcd and address 2
> > PCI: setting IRQ 5 as level-triggered
> > ACPI: PCI Interrupt 0000:00:02.2[C] -> Link [LUS2] -> GSI 5 (level, low) -> IRQ 5
> > PCI: Setting latency timer of device 0000:00:02.2 to 64
> > ehci_hcd 0000:00:02.2: EHCI Host Controller
> > ehci_hcd 0000:00:02.2: debug port 1
> > ehci_hcd 0000:00:02.2: new USB bus registered, assigned bus number 3
> > ehci_hcd 0000:00:02.2: irq 5, io mem 0xfebfdc00
> > PCI: cache line size of 64 is not supported by device 0000:00:02.2
> > ehci_hcd 0000:00:02.2: park 0
> > ehci_hcd 0000:00:02.2: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004
> > usb 2-2: device descriptor read/all, error -110
> > hub 3-0:1.0: USB hub found
> > hub 3-0:1.0: 6 ports detected
> > ohci_hcd 0000:00:02.1: wakeup
> > usb 2-2: new low speed USB device using ohci_hcd and address 4
> > usbcore: registered new driver hiddev
> > input: Logitech USB Receiver//class/input_dev as input3
> > input: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:02.1-2
> > usbcore: registered new driver usbhid
> > drivers/usb/input/hid-core.c: v2.6:USB HID core driver
> > 
> > Greetings,
> > Rafael
> 
> Weird.
> 
> I can't tell what happened.  But I can tell you that USB development
> goes on in Greg K-H's tree.  The current version is available as a patch
> based on 2.6.14-rc4:
> 
> http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/gregkh-all-2.6.14-rc4.patch
> 
> On top of that you should apply the patch for uhci-hcd that I mentioned 
> before.  With this combination I have had no problem suspending three 
> different machines.  Sometimes they even wake up, too!  :-)

Thanks a lot for all the information.

Still I'd rather like to figure out what causes the problem to appear
in -rc4-mm1.  So far I have identified the offending patch which is:

gregkh-usb-usb-power-state-03.patch

(ie. with the patch the problem occurs 100% of the time and without
the patch it doesn't).  I don't know which change in the patch is at
fault (yet).  [Note: the patch didn't revert cleanly so I changed the
7th chunk in drivers/usb/core/hub.c a bit.]

The devices that refuse to suspend (with the above patch) are:

usb usb3: Product: EHCI Host Controller
usb usb3: Manufacturer: Linux 2.6.14-rc4-mm1 ehci_hcd
usb usb3: SerialNumber: 0000:00:02.2

usb usb2: Product: OHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.14-rc4-mm1 ohci_hcd
usb usb2: SerialNumber: 0000:00:02.1

Greetings,
Rafael

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: 2.6.14-rc4-mm1: USB suspend regression
  2005-10-19 13:13       ` 2.6.14-rc4-mm1: USB suspend regression (was: Re: 2.6.14-rc1-mm1: usb breaks suspend) Rafael J. Wysocki
@ 2005-10-19 14:53         ` Mark Lord
  0 siblings, 0 replies; 7+ messages in thread
From: Mark Lord @ 2005-10-19 14:53 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Alan Stern, Pavel Machek, kernel list, Linux-pm mailing list,
	linux-usb-devel, Greg KH

None of the recent kernels can resume-from-ram reliably for me
if I use CONFIG_USB_SUSPEND (set).   But with that option UNset,
suspend/resume to/from RAM works very well.

BUT.. new in 2.6.14-rc*, is that the ehci_hcd USB hispeed driver
no longer survives resume from ram.  I have to unload/reload the
module to get hispeed USB after resume.

-ml

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2005-10-19 14:53 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-17 10:01 2.6.14-rc1-mm1: usb breaks suspend Pavel Machek
2005-10-17 18:54 ` [linux-pm] " Alan Stern
2005-10-17 21:11   ` Rafael J. Wysocki
2005-10-18  1:01     ` Alan Stern
2005-10-19 13:13       ` 2.6.14-rc4-mm1: USB suspend regression (was: Re: 2.6.14-rc1-mm1: usb breaks suspend) Rafael J. Wysocki
2005-10-19 14:53         ` 2.6.14-rc4-mm1: USB suspend regression Mark Lord
2005-10-18  0:13   ` [linux-pm] 2.6.14-rc1-mm1: usb breaks suspend Pavel Machek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox