---
 lib/obex_transport.c |    4 ++--
 lib/usbobex.c        |   37 ++++++++++++++++++-------------------
 lib/usbobex.h        |    3 +--
 3 files changed, 21 insertions(+), 23 deletions(-)

diff --git a/lib/obex_transport.c b/lib/obex_transport.c
index e2da96f..690a79f 100644
--- a/lib/obex_transport.c
+++ b/lib/obex_transport.c
@@ -433,7 +433,7 @@ int obex_transport_write(obex_t *self, buf_t *msg)
                if (self->trans.connected != TRUE)
                        break;
                DEBUG(4, "Endpoint %d\n", 
self->trans.self.usb.data_endpoint_write);
-               actual = usb_bulk_write(self->trans.self.usb.dev_data,
+               actual = usb_bulk_write(self->trans.self.usb.dev,
                                        
self->trans.self.usb.data_endpoint_write,
                                        (char *) msg->data, msg->data_size,
                                        USB_OBEX_TIMEOUT);
@@ -493,7 +493,7 @@ int obex_transport_read(obex_t *self, int max, uint8_t 
*buf, int buflen)
                if (self->trans.connected != TRUE)
                        break;
                DEBUG(4, "Endpoint %d\n", 
self->trans.self.usb.data_endpoint_read);
-               actual = usb_bulk_read(self->trans.self.usb.dev_data,
+               actual = usb_bulk_read(self->trans.self.usb.dev,
                                        self->trans.self.usb.data_endpoint_read,
                                        buf_reserve_end(msg, self->mtu_rx),
                                        self->mtu_rx, USB_OBEX_TIMEOUT);
diff --git a/lib/usbobex.c b/lib/usbobex.c
index b12131b..b87458d 100644
--- a/lib/usbobex.c
+++ b/lib/usbobex.c
@@ -392,32 +392,31 @@ int usbobex_connect_request(obex_t *self)
 
        DEBUG(4, "\n");
 
-       self->trans.self.usb.dev_control = 
usb_open(self->trans.self.usb.device);
-       self->trans.self.usb.dev_data = usb_open(self->trans.self.usb.device);
+       self->trans.self.usb.dev = usb_open(self->trans.self.usb.device);
 
-       ret = usb_set_configuration(self->trans.self.usb.dev_control, 
self->trans.self.usb.configuration);
+       ret = usb_set_configuration(self->trans.self.usb.dev, 
self->trans.self.usb.configuration);
        if (ret < 0)
                DEBUG(4, "Can't set configuration %d", ret);
 
-       ret = usb_claim_interface(self->trans.self.usb.dev_control, 
self->trans.self.usb.control_interface);
+       ret = usb_claim_interface(self->trans.self.usb.dev, 
self->trans.self.usb.control_interface);
        if (ret < 0) {
                DEBUG(4, "Can't claim control interface %d", ret);
                goto err1;
        }
 
-       ret = usb_set_altinterface(self->trans.self.usb.dev_control, 
self->trans.self.usb.control_setting);
+       ret = usb_set_altinterface(self->trans.self.usb.dev, 
self->trans.self.usb.control_setting);
        if (ret < 0) {
                DEBUG(4, "Can't set control setting %d", ret);
                goto err2;
        }
 
-       ret = usb_claim_interface(self->trans.self.usb.dev_data, 
self->trans.self.usb.data_interface);
+       ret = usb_claim_interface(self->trans.self.usb.dev, 
self->trans.self.usb.data_interface);
        if (ret < 0) {
                DEBUG(4, "Can't claim data interface %d", ret);
                goto err2;
        }
 
-       ret = usb_set_altinterface(self->trans.self.usb.dev_data, 
self->trans.self.usb.data_active_setting);
+       ret = usb_set_altinterface(self->trans.self.usb.dev, 
self->trans.self.usb.data_active_setting);
        if (ret < 0) {
                DEBUG(4, "Can't set data active setting %d", ret);
                goto err3;
@@ -428,12 +427,11 @@ int usbobex_connect_request(obex_t *self)
        return 1;
 
 err3:
-       usb_release_interface(self->trans.self.usb.dev_data, 
self->trans.self.usb.data_interface);
+       usb_release_interface(self->trans.self.usb.dev, 
self->trans.self.usb.data_interface);
 err2:
-       usb_release_interface(self->trans.self.usb.dev_control, 
self->trans.self.usb.control_interface);
+       usb_release_interface(self->trans.self.usb.dev, 
self->trans.self.usb.control_interface);
 err1:
-       usb_close(self->trans.self.usb.dev_data);
-       usb_close(self->trans.self.usb.dev_control);
+       usb_close(self->trans.self.usb.dev);
        return ret;
 }
 
@@ -450,21 +448,22 @@ int usbobex_disconnect_request(obex_t *self)
                return 0;
 
        DEBUG(4, "\n");
-       ret = usb_set_altinterface(self->trans.self.usb.dev_data, 
self->trans.self.usb.data_idle_setting);
+
+       usb_clear_halt(self->trans.self.usb.dev, 
self->trans.self.usb.data_endpoint_read);
+       usb_clear_halt(self->trans.self.usb.dev, 
self->trans.self.usb.data_endpoint_write);
+
+       ret = usb_set_altinterface(self->trans.self.usb.dev, 
self->trans.self.usb.data_idle_setting);
        if (ret < 0)
                DEBUG(4, "Can't set data idle setting %d", ret);
-       ret = usb_release_interface(self->trans.self.usb.dev_data, 
self->trans.self.usb.data_interface);
+       ret = usb_release_interface(self->trans.self.usb.dev, 
self->trans.self.usb.data_interface);
        if (ret < 0)
                DEBUG(4, "Can't release data interface %d", ret);
-       ret = usb_release_interface(self->trans.self.usb.dev_control, 
self->trans.self.usb.control_interface);
+       ret = usb_release_interface(self->trans.self.usb.dev, 
self->trans.self.usb.control_interface);
        if (ret < 0)
                DEBUG(4, "Can't release control interface %d", ret);
-       ret = usb_close(self->trans.self.usb.dev_data);
-       if (ret < 0)
-               DEBUG(4, "Can't close data interface %d", ret);
-       ret = usb_close(self->trans.self.usb.dev_control);
+       ret = usb_close(self->trans.self.usb.dev);
        if (ret < 0)
-               DEBUG(4, "Can't close control interface %d", ret);
+               DEBUG(4, "Can't close interface %d", ret);
 
        return ret;
 }
diff --git a/lib/usbobex.h b/lib/usbobex.h
index efd7a38..9fb1797 100644
--- a/lib/usbobex.h
+++ b/lib/usbobex.h
@@ -48,8 +48,7 @@ struct obex_usb_intf_transport_t {
                                                 * in active setting */
        int data_endpoint_read;                 /* OBEX data/slave interface 
read endpoint */
        int data_endpoint_write;                /* OBEX data/slave interface 
write endpoint */
-       usb_dev_handle *dev_control;            /* libusb handler for control 
interace */
-       usb_dev_handle *dev_data;               /* libusb handler for data 
interface */
+       usb_dev_handle *dev;                    /* libusb handler */
 };
 
 /* "Union Functional Descriptor" from CDC spec 5.2.3.X
-- 
1.6.0.6


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects
_______________________________________________
Openobex-users mailing list
Openobex-users@lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/openobex-users

Reply via email to