Provided by: kernel-doc-2.4.27_2.4.27-12_all bug

NAME

       pm_send_all -  send request to all managed devices

SYNOPSIS

       int pm_send_all (pm_request_t rqst, void *data);

ARGUMENTS

       rqst         power management request

       data         data for the callback

DESCRIPTION

       Issue  a  power  management  request  to  a all devices. The PM_SUSPEND
       events are handled specially. Any device is permitted to fail a suspend
       by  returning  a  non zero (error) value from its callback function. If
       any device vetoes a suspend request then all other  devices  that  have
       suspended  during  the processing of this request are restored to their
       previous state.

WARNING

         This function takes the pm_devs_lock. The lock is not  dropped  until
       the  callbacks  have  completed. This prevents races against pm locking
       functions, races against module unload pm_unregister code. It does mean
       however  that  you  must not issue pm_ functions within the callback or
       you will deadlock and users will hate you.

       Zero is returned on success. If a suspend fails then  the  status  from
       the device that vetoes the suspend is returned.

BUGS

        what  stops  two  power  management  requests occuring in parallel and
       conflicting.