Commit 82692d20 authored by Ilija Hadzic's avatar Ilija Hadzic Committed by Greg Kroah-Hartman

staging: usbip: userspace: suppress a bogus error

If mkdir() of VHCI_STATE_PATH fails because the directory
already exists, that's not an error. This patch fixes
annoying "record connection" errors that would typically
come up on attach.
Signed-off-by: default avatarIlija Hadzic <ihadzic@research.bell-labs.com>
Acked-by: default avatarDavid Chang <dchang@suse.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 107fefd4
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <fcntl.h> #include <fcntl.h>
#include <getopt.h> #include <getopt.h>
#include <unistd.h> #include <unistd.h>
#include <errno.h>
#include "vhci_driver.h" #include "vhci_driver.h"
#include "usbip_common.h" #include "usbip_common.h"
...@@ -52,8 +53,18 @@ static int record_connection(char *host, char *port, char *busid, int rhport) ...@@ -52,8 +53,18 @@ static int record_connection(char *host, char *port, char *busid, int rhport)
int ret; int ret;
ret = mkdir(VHCI_STATE_PATH, 0700); ret = mkdir(VHCI_STATE_PATH, 0700);
if (ret < 0) if (ret < 0) {
return -1; /* if VHCI_STATE_PATH exists, then it better be a directory */
if (errno == EEXIST) {
struct stat s;
ret = stat(VHCI_STATE_PATH, &s);
if (ret < 0)
return -1;
if (!(s.st_mode & S_IFDIR))
return -1;
} else
return -1;
}
snprintf(path, PATH_MAX, VHCI_STATE_PATH"/port%d", rhport); snprintf(path, PATH_MAX, VHCI_STATE_PATH"/port%d", rhport);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment