Changeset 3ad7b1c in mainline for uspace/srv/devman/devman.c


Ignore:
Timestamp:
2011-04-09T09:28:08Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
26fa82bc
Parents:
033cbf82
Message:

Make devman robust against somebody manually starting a driver. Allow it
if the driver is not running yet. Prevent it if the driver is already
running. Fix phoneid check (zero is valid).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/devman/devman.c

    r033cbf82 r3ad7b1c  
    555555}
    556556
    557 /** Remember the driver's phone.
    558  *
    559  * @param driver        The driver.
    560  * @param phone         The phone to the driver.
    561  */
    562 void set_driver_phone(driver_t *driver, sysarg_t phone)
    563 {
    564         fibril_mutex_lock(&driver->driver_mutex);
    565         assert(driver->state == DRIVER_STARTING);
    566         driver->phone = phone;
    567         fibril_mutex_unlock(&driver->driver_mutex);
    568 }
    569 
    570557/** Notify driver about the devices to which it was assigned.
    571558 *
     
    685672        list_initialize(&drv->devices);
    686673        fibril_mutex_initialize(&drv->driver_mutex);
     674        drv->phone = -1;
    687675}
    688676
Note: See TracChangeset for help on using the changeset viewer.