freebsd-ports/comms/openobex/files/patch-usb
Dmitry Marakasov 41b7677280 - Update to 1.4
- Add USB support (adopted from ports/128776)

PR:		128979
Submitted by:	Alex Samorukov <samm at os2 dot kiev dot ua>
Approved by:	Guido Falsi <mad at madpilot dot net> (maintainer)
2008-11-19 22:44:31 +00:00

65 lines
2.3 KiB
Text

--- lib/usbobex.c 2008-11-07 14:36:09.000000000 +0200
+++ lib/usbobex.c 2008-11-19 02:47:39.000000000 +0200
@@ -392,25 +392,8 @@
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);
- ret = usb_set_configuration(self->trans.self.usb.dev_control, 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);
- 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);
- 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);
if (ret < 0) {
DEBUG(4, "Can't claim data interface %d", ret);
@@ -430,10 +413,8 @@
err3:
usb_release_interface(self->trans.self.usb.dev_data, self->trans.self.usb.data_interface);
err2:
- usb_release_interface(self->trans.self.usb.dev_control, self->trans.self.usb.control_interface);
err1:
usb_close(self->trans.self.usb.dev_data);
- usb_close(self->trans.self.usb.dev_control);
return ret;
}
@@ -450,21 +431,19 @@
return 0;
DEBUG(4, "\n");
+
+ usb_clear_halt(self->trans.self.usb.dev_data, self->trans.self.usb.data_endpoint_read);
+ usb_clear_halt(self->trans.self.usb.dev_data, self->trans.self.usb.data_endpoint_write);
+
ret = usb_set_altinterface(self->trans.self.usb.dev_data, 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);
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);
- 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);
- if (ret < 0)
- DEBUG(4, "Can't close control interface %d", ret);
return ret;
}