All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Tom Gundersen <teg@jklm.no>,
	linux-usb@vger.kernel.org, linux-input@vger.kernel.org,
	linux-kernel@vger.kernel.org, Jiri Kosina <jkosina@suse.cz>
Subject: Re: [PATCH][RFC] usbhid: enable autosuspend for internal devices
Date: Fri, 26 Jun 2015 18:29:59 -0700	[thread overview]
Message-ID: <20150627012959.GA15207@kroah.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1506262113240.31192-100000@netrider.rowland.org>

On Fri, Jun 26, 2015 at 09:20:19PM -0400, Alan Stern wrote:
> On Fri, 26 Jun 2015, Greg Kroah-Hartman wrote:
> 
> > > This doesn't do what the patch title says.  USB_DEVICE_FIXED means that
> > > the device can't be unplugged from its upstream port.  It doesn't mean
> > > the device is internal to the computer.
> > > 
> > > As an example, consider a composite Apple keyboard, which has an
> > > internal 3-port USB hub where two of the hub's ports are exposed on the
> > > edge of the keyboard case and the keyboard controller is permanently
> > > attached to the third hub port.  Then the controller device would be
> > > marked USB_DEVICE_FIXED, even though the whole thing is external to
> > > the computer and can be unplugged.
> > > 
> > 
> > Is that really how those devices are marked?  I can't find any of my
> > keyboard with hubs that mark things that way.
> 
> My Apple keyboard isn't here at the moment, and I don't remember
> exactly what its hub descriptor contains.  In theory, it _should_ mark
> the permanently attached port as non-removable.
> 
> I can test it next week, if you would like to see the actual values.

That would be great.

> > > Also, are you really certain this is safe?  Aren't there a number of 
> > > built-in keyboards that will work badly if you allow them to 
> > > autosuspend?
> > 
> > udev has been doing this for a while now by default, with no reports of
> > problems, so I think we should be safe.
> 
> I thought udev used a whitelist of devices known to work okay with 
> autosuspend.  Does it really turn on autosuspend for _every_ USB HID 
> device that is marked as removable?

Yes, it had a tiny whitelist of 3-4 devices, and then would turn on
autosuspend for anything not marked as removable or unknown.  Look at
/usr/lib/udev/rules.d/42-usb-hid-pm.rules on your system for them, it's
these lines:
	ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTR{../removable}=="removable", GOTO="usb_hid_pm_end"
	ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTR{../removable}=="unknown", GOTO="usb_hid_pm_end"

> (Come to think of it, given the bug in the hub driver, no device 
> attached directly to the root hub will _ever_ be marked as removable 
> AFAICS.  So maybe that bug is masking possible regressions.)

Maybe that's the issue, don't know, it would be good to figure out as
upstream udev just deleted that whole rules file :)

thanks,

greg k-h

  reply	other threads:[~2015-06-27  1:29 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-26 19:24 [PATCH][RFC] usbhid: enable autosuspend for internal devices Tom Gundersen
2015-06-26 19:32 ` Greg Kroah-Hartman
2015-06-26 20:08 ` Alan Stern
2015-06-26 20:08   ` Alan Stern
2015-06-26 20:28   ` Alan Stern
2015-06-26 20:28     ` Alan Stern
     [not found]   ` <Pine.LNX.4.44L0.1506261549310.1566-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2015-06-26 22:15     ` Greg Kroah-Hartman
2015-06-26 22:15       ` Greg Kroah-Hartman
     [not found]       ` <20150626221517.GB2761-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-06-27  1:20         ` Alan Stern
2015-06-27  1:20           ` Alan Stern
2015-06-27  1:29           ` Greg Kroah-Hartman [this message]
2015-06-27  6:29             ` Jiri Kosina
     [not found]               ` <alpine.LNX.2.00.1506270825010.10183-ztGlSCb7Y1iN3ZZ/Hiejyg@public.gmane.org>
2015-06-27 15:31                 ` Greg Kroah-Hartman
2015-06-27 15:31                   ` Greg Kroah-Hartman
2015-06-30 15:21                   ` Alan Stern
2015-06-30 15:21                     ` Alan Stern
2015-06-29  9:48               ` Oliver Neukum
2015-06-29 11:16                 ` Jiri Kosina
2015-06-29 11:37                   ` Oliver Neukum
     [not found]                     ` <1435577839.1805.10.camel-l3A5Bk7waGM@public.gmane.org>
2015-06-29 12:00                       ` Jiri Kosina
2015-06-29 12:00                         ` Jiri Kosina
  -- strict thread matches above, loose matches on Subject: below --
2015-07-02  7:18 Andreas Mohr
2015-07-02 14:08 ` Alan Stern

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150627012959.GA15207@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    --cc=teg@jklm.no \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.