AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: uhs_status_t Usbh_Api_ReqDisableAttDet( void ) 2: { 3: uhs_status_t retval = UDI_STAT_INVALID_STATE; 4: uhs_status_t result; 5: UHS_MSG_APIWRAP_ANS_DIS_ATTDET_FMT *rcv_msg; 6: struct usbd_usb_deviceinfo * pRootHub; 7: 8: pRootHub = Usbh_Api_EnumRootHub( NULL ); 9: 10: 11: if( pRootHub->usbdev_LowerHub[1] ){ 12: 13: 14: if( Usbh_susres_get_state() == USBH_SUSRES_STS_IDLE ){ 15: 16: 17: kernel_wait(NULL,100); 18: 19: 20: retval = kernel_create_message( &g_suspend_reqans_mbox ); 21: if(retval != UDI_OK){ 22: CORE_REPORT_ERROR( USBC_RESOURCE_UNAVAIL ); 23: return UDI_STAT_RESOURCE_UNAVAIL; 24: } 25: 26: 27: 28: retval = Usbh_susres_SendMsg_req_susres( &g_suspend_reqans_mbox , USBH_APIWRAP_MSGID_REQ_DIS_ATTDET ); 29: if(retval != UDI_OK){ 30: kernel_delete_message( &g_suspend_reqans_mbox , in_interrupt() ); 31: CORE_REPORT_ERROR( USBC_RESOURCE_UNAVAIL ); 32: return UDI_STAT_RESOURCE_UNAVAIL; 33: } 34: 35: 36: retval = kernel_receive_message( 37: &g_suspend_reqans_mbox , 38: (T_MSG **)&rcv_msg, 39: WAITFOREVER , 40: in_interrupt() 41: ); 42: if(retval != UDI_OK){ 43: kernel_delete_message( &g_suspend_reqans_mbox , in_interrupt() ); 44: CORE_REPORT_ERROR(USBC_ILLEGAL_ERROR); 45: return retval; 46: } 47: 48: #ifdef USBH_COMMON_DISP_MESSID 49: 50: Usbh_common_DisplayMessage( (void *)rcv_msg , "API_WR_SUSD" ); 51: #endif 52: 53: 54: retval = rcv_msg->result; 55: 56: 57: result = kernel_mem_free( &g_apiwrap_info.mpl_osc , (void*)rcv_msg , in_interrupt() ); 58: if( result != UDI_OK ) { 59: CORE_REPORT_ERROR( USBC_ILLEGAL_ERROR ); 60: } 61: 62: 63: result = kernel_delete_message( &g_suspend_reqans_mbox , in_interrupt() ); 64: if(result != UDI_OK){ 65: CORE_REPORT_ERROR( USBC_ILLEGAL_ERROR ); 66: } 67: } 68: else{ 69: CORE_REPORT_ERROR( USBC_ILLEGAL_ERROR ); 70: uhs_debug_print (DBG_ERR, ("Usbh_Api_ReqDisableAttDet : error stage error !!")); 71: } 72: } 73: else{ 74: CORE_REPORT_ERROR( USBC_ILLEGAL_ERROR ); 75: uhs_debug_print (DBG_ERR, ("Usbh_Api_ReqDiasbleAttDet : error root_hub empty error !!")); 76: } 77: 78: #ifdef USBH_DBG_ADD_MESSAGE 79: uhs_debug_print( DBG_ERR, ( "Return Usbh_Api_ReqDisableAttDet (result=%d)",retval) ); 80: #endif 81: return retval; 82: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.