up(&dev->sem); 
void device_release_driver(struct device * dev){	struct device_driver * drv = dev->driver;	if (drv) {		sysfs_remove_link(&drv->kobj, kobject_name(&dev->kobj));		sysfs_remove_link(&dev->kobj, "driver");		list_del_init(&dev->driver_list);		if (drv->remove)			drv->remove(dev);		dev->driver = NULL;	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/af70316af182f4716cc5eec7e0d27fc731d164bd/bus.c/buggy/drivers/base/bus.c