lkml.org 
[lkml]   [2006]   [Jun]   [19]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
FromAndrey Borzenkov <>
SubjectRe: [linux-usb-devel] 2.6.17: dmesg flooded with "ohci_hcd 0000:00:02.0: wakeup"
DateMon, 19 Jun 2006 22:39:04 +0400
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Sunday 18 June 2006 22:16, David Brownell wrote:
> On Sunday 18 June 2006 10:29 am, Andrey Borzenkov wrote:
> > On Sunday 18 June 2006 20:29, David Brownell wrote:
> > > An alternative (but post-boot) workaround _should_ be
> > >
> > >     echo disabled > /sys/bus/pci/devices/0000:00:02.0/power/wakeup
>
> Did that work?
>

No. But

	echo -n disabled > /sys/devices/pci0000:00/0000:00:02.0/usb1/power/wakeup
did.

Now I noticed that when I boot 2.6.16 hub has only 'Self Powered' attribite 
(0xc0) while in 2.6.17 it adds 'Remote Wakeup':

Bus 001 Device 001: ID 0000:0000
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            9 Hub
...
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
It apparently makes OHCI believe controller can correctly do suspend/wakeup. 
The suspend does not come from upper layer - it is ohci_hub itself attempting 
to put controller in lower power mode:

ohci_hub_status_data (struct usb_hcd *hcd, char *buf)
{
...
        int             can_suspend = 
device_may_wakeup(&hcd->self.root_hub->dev);
...
#ifdef CONFIG_PM
        /* save power by suspending idle root hubs;
         * INTR_RD wakes us when there's work
         */
        if (can_suspend
                        && !changed
                        && !ohci->ed_rm_list
                        && ((OHCI_CTRL_HCFS | OHCI_SCHED_ENABLES)
                                        & ohci->hc_control)
                                == OHCI_USB_OPER
                        && time_after (jiffies, ohci->next_statechange)
                        && usb_trylock_device (hcd->self.root_hub) == 0
                        ) {
                ohci_vdbg (ohci, "autosuspend\n");
                (void) ohci_bus_suspend (hcd);
                usb_unlock_device (hcd->self.root_hub);
        }
#endif
can_suspend is true while it was apparently false in 2.6.16.

- -andrey
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
iD8DBQFElu9JR6LMutpd94wRAv5rAJwO/NZ13duktsD0WsksmFqLtUZufACgkBCS
cOb6y1BG+RjecKtCcua9sNY=
=Rm8d
-----END PGP SIGNATURE-----
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2006-06-19 18:41    [from the cache]
©2003-2008