diff --git a/src/mtp_usb_driver_nuttx.c b/src/mtp_usb_driver_nuttx.c index be0c074..b190f04 100644 --- a/src/mtp_usb_driver_nuttx.c +++ b/src/mtp_usb_driver_nuttx.c @@ -361,10 +361,12 @@ static void __handle_control_request(mtp_int32 request) sent_busy = FALSE; } - status = write(g_usb_ep0, &statusreq_data, sizeof(statusreq_data)); - if (status < 0) { - ERR("IOCTL MTP_SEND_STATUS_ACK Failed [%d]\n", - errno); + if (_transport_get_mtp_operation_state() == MTP_STATE_ONSERVICE) { + status = write(g_usb_ep0, &statusreq_data, sizeof(statusreq_data)); + if (status < 0) { + ERR("IOCTL MTP_SEND_STATUS_ACK Failed [%d]\n", + errno); + } } break;