aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <meissner@suse.de>2018-10-07 18:15:44 +0200
committerMarcus Meissner <meissner@suse.de>2018-10-07 18:15:44 +0200
commitd78503677d1aa7b87883798e18561d1278f0030d (patch)
tree62f09e75a9a3360e11a5d26cb867b1840ec0a891
parente5b302f45e5db9e1e328386eeb189697c8319c27 (diff)
downloadlibmtp-d78503677d1aa7b87883798e18561d1278f0030d.tar.gz
reverted back to our versio n of devstat request
-rw-r--r--src/ptp.c6
-rw-r--r--src/ptp.h4
2 files changed, 6 insertions, 4 deletions
diff --git a/src/ptp.c b/src/ptp.c
index 5327865..d66c8f2 100644
--- a/src/ptp.c
+++ b/src/ptp.c
@@ -170,6 +170,7 @@ ptp_transaction_new (PTPParams* params, PTPContainer* ptp,
ptp->SessionID=params->session_id;
/* send request */
CHECK_PTP_RC(params->sendreq_func (params, ptp, flags));
+
/* is there a dataphase? */
switch (flags&PTP_DP_DATA_MASK) {
case PTP_DP_SENDDATA:
@@ -182,10 +183,7 @@ ptp_transaction_new (PTPParams* params, PTPContainer* ptp,
break;
case PTP_DP_GETDATA:
{
- uint16_t ret = params->getdata_func(params, ptp, handler);
- if (ret == PTP_ERROR_CANCEL)
- CHECK_PTP_RC(params->cancelreq_func(params, params->transaction_id-1));
- CHECK_PTP_RC(ret);
+ CHECK_PTP_RC(params->getdata_func(params, ptp, handler));
}
break;
case PTP_DP_NODATA:
diff --git a/src/ptp.h b/src/ptp.h
index ddfd362..7c06b64 100644
--- a/src/ptp.h
+++ b/src/ptp.h
@@ -2666,6 +2666,7 @@ typedef uint16_t (* PTPIOGetResp) (PTPParams* params, PTPContainer* resp);
typedef uint16_t (* PTPIOGetData) (PTPParams* params, PTPContainer* ptp,
PTPDataHandler *putter);
typedef uint16_t (* PTPIOCancelReq) (PTPParams* params, uint32_t transaction_id);
+typedef uint16_t (* PTPIODevStatReq) (PTPParams* params);
/* debug functions */
typedef void (* PTPErrorFunc) (void *data, const char *format, va_list args)
@@ -2727,6 +2728,7 @@ struct _PTPParams {
PTPIOGetResp event_check_queue;
PTPIOGetResp event_wait;
PTPIOCancelReq cancelreq_func;
+ PTPIODevStatReq devstatreq_func;
/* Custom error and debug function */
PTPErrorFunc error_func;
@@ -2837,6 +2839,8 @@ uint16_t ptp_usb_control_get_extended_event_data (PTPParams *params, char *buffe
uint16_t ptp_usb_control_device_reset_request (PTPParams *params);
uint16_t ptp_usb_control_get_device_status (PTPParams *params, char *buffer, int *size);
uint16_t ptp_usb_control_cancel_request (PTPParams *params, uint32_t transid);
+uint16_t ptp_usb_control_cancel_request (PTPParams *params, uint32_t transid);
+uint16_t ptp_usb_control_device_status_request (PTPParams *params);
int ptp_ptpip_connect (PTPParams* params, const char *port);