void vcd_response_handler(void)
{
	struct vcd_drv_ctxt *drv_ctxt;

	VCD_MSG_LOW("vcd_response_handler:");
  drv_ctxt = vcd_get_drv_context();

  mutex_lock(&drv_ctxt->dev_mutex);

	if (!ddl_process_core_response()) {
		VCD_MSG_HIGH
		    ("ddl_process_core_response indicated no further"
		     "processing");
    mutex_unlock(&drv_ctxt->dev_mutex);
		return;
	}

	if (drv_ctxt->dev_ctxt.command_continue)
		vcd_continue();
	mutex_unlock(&drv_ctxt->dev_mutex);
}
예제 #2
0
void vcd_response_handler(void)
{
	struct vcd_drv_ctxt_type_t *p_drv_ctxt;

	VCD_MSG_LOW("vcd_response_handler:");
  p_drv_ctxt = vcd_get_drv_context();

  vcd_critical_section_enter(p_drv_ctxt->dev_cs);

	if (!ddl_process_core_response()) {
		VCD_MSG_HIGH
		    ("ddl_process_core_response indicated no further"
		     "processing");
    vcd_critical_section_leave(p_drv_ctxt->dev_cs);
		return;
	}

	if (p_drv_ctxt->dev_ctxt.b_continue)
		vcd_continue();
	vcd_critical_section_leave(p_drv_ctxt->dev_cs);
}