• David Brownell's avatar
    fix broken/dubious driver suspend() methods · 8b4b8a24
    David Brownell authored
    Small driver suspend() fixes in preparation for the PRETHAW events:
    
     - Only compare message events for equality against PM_EVENT_* codes;
       not against integers, or using greater/less-than comparisons.
       (PM_EVENT_* should really become a __bitwise thing.)
    
     - Explicitly test for SUSPEND events (rather than not-something-else)
       before suspending devices.
    
     - Removes more of the confusion between a pm_message_t (wraps event code)
       and a "state" ... suspend() originally took a target system state.
    
    These updates are correct and appropriate even without new PM_EVENT codes.
    
    benh: "I think in the Mesh case, we should handle the freeze case as well or
    we might get wild DMA."
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    Acked-by: default avatarPavel Machek <pavel@ucw.cz>
    Cc: Greg KH <greg@kroah.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
    Cc: James Bottomley <James.Bottomley@steeleye.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    8b4b8a24
pmac.c 54.9 KB