src/dpdk/drivers/net/hns3/hns3_intr.c
void
hns3_reset_abort(struct hns3_adapter *hns)
{
	struct hns3_hw *hw = &hns->hw;
	struct timeval tv;
	int i;

	for (i = 0; i < HNS3_QUIT_RESET_CNT; i++) {
		if (hw->reset.level == HNS3_NONE_RESET)
			break;
		rte_delay_ms(HNS3_QUIT_RESET_DELAY_MS);
	}

	/* IMP no longer waiting the ready flag */
	hns3_notify_reset_ready(hw, true);

	rte_eal_alarm_cancel(hw->reset.ops->reset_service, hns);
	rte_eal_alarm_cancel(hns3_wait_callback, hw->reset.wait_data);

	if (hw->reset.level != HNS3_NONE_RESET) {
		gettimeofday(&tv, NULL);
		hns3_err(hw, "Failed to terminate reset: %s time=%ld.%.6ld",
			 reset_string[hw->reset.level], tv.tv_sec, tv.tv_usec);
	}
}
/*
 * The reset process can only be terminated after handshake with IMP(step3),
 * so that IMP can complete the reset process normally.
 */
The reset process can only be terminated after handshake with IMP(step3),
so that IMP can complete the reset process normally.
The reset process can only be terminated after handshake with IMP ( step3 ) so that IMP can complete the reset process normally .
void
hns3_reset_abort(struct hns3_adapter *hns)
{
	struct hns3_hw *hw = &hns->hw;
	struct timeval tv;
	int i;
	for (i = 0; i < HNS3_QUIT_RESET_CNT; i++) {
		if (hw->reset.level == HNS3_NONE_RESET)
			break;
		rte_delay_ms(HNS3_QUIT_RESET_DELAY_MS);
	}
	hns3_notify_reset_ready(hw, true);
	rte_eal_alarm_cancel(hw->reset.ops->reset_service, hns);
	rte_eal_alarm_cancel(hns3_wait_callback, hw->reset.wait_data);
	if (hw->reset.level != HNS3_NONE_RESET) {
		gettimeofday(&tv, NULL);
		hns3_err(hw, "Failed to terminate reset: %s time=%ld.%.6ld",
			 reset_string[hw->reset.level], tv.tv_sec, tv.tv_usec);
	}
}
void hns3_reset_abort ( struct hns3_adapter * hns ) { struct hns3_hw * hw = & hns -> hw ; struct timeval tv ; int i ; for ( i = 0 ; i < HNS3_QUIT_RESET_CNT ; i ++ ) { if ( hw -> reset . level == HNS3_NONE_RESET ) break ; rte_delay_ms ( HNS3_QUIT_RESET_DELAY_MS ) ; } hns3_notify_reset_ready ( hw , true ) ; rte_eal_alarm_cancel ( hw -> reset . ops -> reset_service , hns ) ; rte_eal_alarm_cancel ( hns3_wait_callback , hw -> reset . wait_data ) ; if ( hw -> reset . level != HNS3_NONE_RESET ) { gettimeofday ( & tv , NULL ) ; hns3_err ( hw , " " , reset_string [ hw -> reset . level ] , tv . tv_sec , tv . tv_usec ) ; } }
The reset process can only be terminated after handshake with IMP(step3),
 so that IMP can complete the reset process normally.
The reset process can only be terminated after handshake with IMP ( step3 ) so that IMP can complete the reset process normally .
/* IMP no longer waiting the ready flag */