Changeset f278930 in mainline for uspace/srv/devman/main.c
- Timestamp:
- 2011-09-03T12:02:08Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7fff38c1
- Parents:
- f480d7e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/devman/main.c
rf480d7e rf278930 320 320 fibril_rwlock_write_unlock(&device_tree.rwlock); 321 321 322 rc = driver_dev_remove(&device_tree, dev); 323 if (rc != EOK) { 324 dev_del_ref(dev); 325 return ENOTSUP; 322 /* If device is owned by driver, ask driver to give it up. */ 323 if (dev->state == DEVICE_USABLE) { 324 rc = driver_dev_remove(&device_tree, dev); 325 if (rc != EOK) { 326 dev_del_ref(dev); 327 return ENOTSUP; 328 } 326 329 } 327 330 … … 332 335 return EIO; 333 336 } 337 driver_t *driver = dev->drv; 334 338 fibril_rwlock_read_unlock(&device_tree.rwlock); 335 339 336 detach_driver(&device_tree, dev); 340 if (driver) 341 detach_driver(&device_tree, dev); 337 342 338 343 fibril_rwlock_write_lock(&device_tree.rwlock);
Note:
See TracChangeset
for help on using the changeset viewer.