At this point, USB/IP userspace code is fully functional and can be moved out of staging. Signed-off-by: Valentina Manea <valentina.manea.m@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
		
			
				
	
	
		
			31 lines
		
	
	
	
		
			526 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			526 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
#include <sys/types.h>
 | 
						|
#include <sys/stat.h>
 | 
						|
#include <fcntl.h>
 | 
						|
#include <errno.h>
 | 
						|
 | 
						|
#include "sysfs_utils.h"
 | 
						|
#include "usbip_common.h"
 | 
						|
 | 
						|
int write_sysfs_attribute(const char *attr_path, const char *new_value,
 | 
						|
			  size_t len)
 | 
						|
{
 | 
						|
	int fd;
 | 
						|
	int length;
 | 
						|
 | 
						|
	fd = open(attr_path, O_WRONLY);
 | 
						|
	if (fd < 0) {
 | 
						|
		dbg("error opening attribute %s", attr_path);
 | 
						|
		return -1;
 | 
						|
	}
 | 
						|
 | 
						|
	length = write(fd, new_value, len);
 | 
						|
	if (length < 0) {
 | 
						|
		dbg("error writing to attribute %s", attr_path);
 | 
						|
		close(fd);
 | 
						|
		return -1;
 | 
						|
	}
 | 
						|
 | 
						|
	close(fd);
 | 
						|
 | 
						|
	return 0;
 | 
						|
}
 |