aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/drivers')
-rw-r--r--arch/um/drivers/mcast_user.c11
-rw-r--r--arch/um/drivers/mconsole_user.c6
-rw-r--r--arch/um/drivers/pty.c3
-rw-r--r--arch/um/drivers/xterm.c6
4 files changed, 17 insertions, 9 deletions
diff --git a/arch/um/drivers/mcast_user.c b/arch/um/drivers/mcast_user.c
index 3fd69067a5f5..5db136e2651c 100644
--- a/arch/um/drivers/mcast_user.c
+++ b/arch/um/drivers/mcast_user.c
@@ -54,7 +54,7 @@ static int mcast_open(void *data)
54 struct mcast_data *pri = data; 54 struct mcast_data *pri = data;
55 struct sockaddr_in *sin = pri->mcast_addr; 55 struct sockaddr_in *sin = pri->mcast_addr;
56 struct ip_mreq mreq; 56 struct ip_mreq mreq;
57 int fd = -EINVAL, yes = 1, err = -EINVAL;; 57 int fd, yes = 1, err = 0;
58 58
59 59
60 if ((sin->sin_addr.s_addr == 0) || (sin->sin_port == 0)) 60 if ((sin->sin_addr.s_addr == 0) || (sin->sin_port == 0))
@@ -65,13 +65,14 @@ static int mcast_open(void *data)
65 if (fd < 0){ 65 if (fd < 0){
66 printk("mcast_open : data socket failed, errno = %d\n", 66 printk("mcast_open : data socket failed, errno = %d\n",
67 errno); 67 errno);
68 fd = -errno; 68 err = -errno;
69 goto out; 69 goto out;
70 } 70 }
71 71
72 if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)) < 0) { 72 if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)) < 0) {
73 printk("mcast_open: SO_REUSEADDR failed, errno = %d\n", 73 printk("mcast_open: SO_REUSEADDR failed, errno = %d\n",
74 errno); 74 errno);
75 err = -errno;
75 goto out_close; 76 goto out_close;
76 } 77 }
77 78
@@ -80,6 +81,7 @@ static int mcast_open(void *data)
80 sizeof(pri->ttl)) < 0) { 81 sizeof(pri->ttl)) < 0) {
81 printk("mcast_open: IP_MULTICAST_TTL failed, error = %d\n", 82 printk("mcast_open: IP_MULTICAST_TTL failed, error = %d\n",
82 errno); 83 errno);
84 err = -errno;
83 goto out_close; 85 goto out_close;
84 } 86 }
85 87
@@ -87,12 +89,14 @@ static int mcast_open(void *data)
87 if (setsockopt(fd, SOL_IP, IP_MULTICAST_LOOP, &yes, sizeof(yes)) < 0) { 89 if (setsockopt(fd, SOL_IP, IP_MULTICAST_LOOP, &yes, sizeof(yes)) < 0) {
88 printk("mcast_open: IP_MULTICAST_LOOP failed, error = %d\n", 90 printk("mcast_open: IP_MULTICAST_LOOP failed, error = %d\n",
89 errno); 91 errno);
92 err = -errno;
90 goto out_close; 93 goto out_close;
91 } 94 }
92 95
93 /* bind socket to mcast address */ 96 /* bind socket to mcast address */
94 if (bind(fd, (struct sockaddr *) sin, sizeof(*sin)) < 0) { 97 if (bind(fd, (struct sockaddr *) sin, sizeof(*sin)) < 0) {
95 printk("mcast_open : data bind failed, errno = %d\n", errno); 98 printk("mcast_open : data bind failed, errno = %d\n", errno);
99 err = -errno;
96 goto out_close; 100 goto out_close;
97 } 101 }
98 102
@@ -107,14 +111,15 @@ static int mcast_open(void *data)
107 "interface on the host.\n"); 111 "interface on the host.\n");
108 printk("eth0 should be configured in order to use the " 112 printk("eth0 should be configured in order to use the "
109 "multicast transport.\n"); 113 "multicast transport.\n");
114 err = -errno;
110 goto out_close; 115 goto out_close;
111 } 116 }
112 117
113 out:
114 return fd; 118 return fd;
115 119
116 out_close: 120 out_close:
117 os_close_file(fd); 121 os_close_file(fd);
122 out:
118 return err; 123 return err;
119} 124}
120 125
diff --git a/arch/um/drivers/mconsole_user.c b/arch/um/drivers/mconsole_user.c
index a5b8aeade1c5..310c1f823f26 100644
--- a/arch/um/drivers/mconsole_user.c
+++ b/arch/um/drivers/mconsole_user.c
@@ -173,9 +173,9 @@ int mconsole_notify(char *sock_name, int type, const void *data, int len)
173 if(notify_sock < 0){ 173 if(notify_sock < 0){
174 notify_sock = socket(PF_UNIX, SOCK_DGRAM, 0); 174 notify_sock = socket(PF_UNIX, SOCK_DGRAM, 0);
175 if(notify_sock < 0){ 175 if(notify_sock < 0){
176 printk("mconsole_notify - socket failed, errno = %d\n",
177 errno);
178 err = -errno; 176 err = -errno;
177 printk("mconsole_notify - socket failed, errno = %d\n",
178 err);
179 } 179 }
180 } 180 }
181 unlock_notify(); 181 unlock_notify();
@@ -198,8 +198,8 @@ int mconsole_notify(char *sock_name, int type, const void *data, int len)
198 n = sendto(notify_sock, &packet, len, 0, (struct sockaddr *) &target, 198 n = sendto(notify_sock, &packet, len, 0, (struct sockaddr *) &target,
199 sizeof(target)); 199 sizeof(target));
200 if(n < 0){ 200 if(n < 0){
201 printk("mconsole_notify - sendto failed, errno = %d\n", errno);
202 err = -errno; 201 err = -errno;
202 printk("mconsole_notify - sendto failed, errno = %d\n", errno);
203 } 203 }
204 return(err); 204 return(err);
205} 205}
diff --git a/arch/um/drivers/pty.c b/arch/um/drivers/pty.c
index ed84d01df6cc..0306a1b215b7 100644
--- a/arch/um/drivers/pty.c
+++ b/arch/um/drivers/pty.c
@@ -43,8 +43,9 @@ static int pts_open(int input, int output, int primary, void *d,
43 43
44 fd = get_pty(); 44 fd = get_pty();
45 if(fd < 0){ 45 if(fd < 0){
46 err = -errno;
46 printk("open_pts : Failed to open pts\n"); 47 printk("open_pts : Failed to open pts\n");
47 return(-errno); 48 return err;
48 } 49 }
49 if(data->raw){ 50 if(data->raw){
50 CATCH_EINTR(err = tcgetattr(fd, &data->tt)); 51 CATCH_EINTR(err = tcgetattr(fd, &data->tt));
diff --git a/arch/um/drivers/xterm.c b/arch/um/drivers/xterm.c
index 93dc1911363f..90e0e5ff451e 100644
--- a/arch/um/drivers/xterm.c
+++ b/arch/um/drivers/xterm.c
@@ -110,13 +110,15 @@ int xterm_open(int input, int output, int primary, void *d,
110 110
111 fd = mkstemp(file); 111 fd = mkstemp(file);
112 if(fd < 0){ 112 if(fd < 0){
113 err = -errno;
113 printk("xterm_open : mkstemp failed, errno = %d\n", errno); 114 printk("xterm_open : mkstemp failed, errno = %d\n", errno);
114 return(-errno); 115 return err;
115 } 116 }
116 117
117 if(unlink(file)){ 118 if(unlink(file)){
119 err = -errno;
118 printk("xterm_open : unlink failed, errno = %d\n", errno); 120 printk("xterm_open : unlink failed, errno = %d\n", errno);
119 return(-errno); 121 return err;
120 } 122 }
121 os_close_file(fd); 123 os_close_file(fd);
122 124