RE: [PATCH v2] r8152: fix lockup when runtime PM is enabled

Alan Stern
2015-12-24T01:32:07Z

On Wed, 23 Dec 2015, Hayes Wang wrote:

> Oliver Neukum [mailto:oneukum@suse.de]
> > Sent: Wednesday, December 23, 2015 4:20 PM
> [...]
> > No, step (2) does not exist. Calls to suspend() and [reset_]resume()
> > always balance. Usually a driver shouldn't care about system suspend.
> > The way the driver is currently coded will also fail for Port-Power Off.
>
> It is different with Windows. The Windows would resume the device before
> system suspend, if the system suspend follows the autosuspend.
>
> Would this be a problem? After system suspend, the device may wake up
> the system when receiving any packet, not only magic packet. The wake
> events are different for system suspend and autosuspend. However, I
> couldn't change the wake event, because the autosuspend occurs first,
> and the suspend() is only called once.

I don't understand why the wakeup conditions are different. It seems
to me that the choice of which packets will generate a wakeup ought to
depend on the user's selection, not on the kind of suspend. For
instance, if the user says that only a magic packet should cause a
wakeup then that should be true for both runtime suspend and system
suspend.

To put it another way, as far as the device is concerned a suspend is
just a suspend -- there's no different between a runtime suspend and a
system suspend.

Alan Stern