with the last detached port state file remaining , usbip reports error on 
attaching. So clean up the state files on detaching.

Signed-off-by: Harvey Yang <harvey.huawei.y...@gmail.com>
---
 drivers/staging/usbip/userspace/src/usbip_detach.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/drivers/staging/usbip/userspace/src/usbip_detach.c 
b/drivers/staging/usbip/userspace/src/usbip_detach.c
index 89bf3c1..312745d 100644
--- a/drivers/staging/usbip/userspace/src/usbip_detach.c
+++ b/drivers/staging/usbip/userspace/src/usbip_detach.c
@@ -19,6 +19,7 @@
 #include <sysfs/libsysfs.h>
 
 #include <ctype.h>
+#include <limits.h>
 #include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -46,6 +47,7 @@ static int detach_port(char *port)
 {
        int ret;
        uint8_t portnum;
+       char path[PATH_MAX+1];
 
        for (unsigned int i=0; i < strlen(port); i++)
                if (!isdigit(port[i])) {
@@ -56,6 +58,13 @@ static int detach_port(char *port)
        /* check max port */
 
        portnum = atoi(port);
+
+       /* remove the port state file */
+
+       snprintf(path, PATH_MAX, VHCI_STATE_PATH"/port%d", portnum);
+
+       remove(path);
+       rmdir(VHCI_STATE_PATH);
 
        ret = usbip_vhci_driver_open();
        if (ret < 0) {
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to