コード例 #1
0
static u32 vcd_close_in_ready
	(struct vcd_drv_ctxt *drv_ctxt,
	 struct vcd_clnt_ctxt *cctxt) {
	u32 rc;

	VCD_MSG_LOW("vcd_close_in_dev_ready:");

	if (cctxt->clnt_state.state_table->ev_hdlr.close) {
		rc = cctxt->clnt_state.state_table->ev_hdlr.
			close(cctxt);
	} else {
		VCD_MSG_ERROR("Unsupported API in client state %d",
				  cctxt->clnt_state.state);

		rc = VCD_ERR_BAD_STATE;
	}

	if (!VCD_FAILED(rc))
		vcd_handle_for_last_clnt_close(&drv_ctxt->dev_ctxt, true);

	return rc;
}
コード例 #2
0
static u32 vcd_close_in_ready
(struct vcd_drv_ctxt_type_t *p_drv_ctxt,
 struct vcd_clnt_ctxt_type_t *p_cctxt) {
    u32 rc;

    VCD_MSG_LOW("vcd_close_in_dev_ready:");

    if (p_cctxt->clnt_state.p_state_table->ev_hdlr.pf_close) {
        rc = p_cctxt->clnt_state.p_state_table->ev_hdlr.
             pf_close(p_cctxt);
    } else {
        VCD_MSG_ERROR("Unsupported API in client state %d",
                      p_cctxt->clnt_state.e_state);

        rc = VCD_ERR_BAD_STATE;
    }

    if (!VCD_FAILED(rc))
        vcd_handle_for_last_clnt_close(&p_drv_ctxt->dev_ctxt, TRUE);

    return rc;
}