569 TAVOR_TNF_EXIT(tavor_close);
570 return (0);
571 }
572
573
574 /*
575 * tavor_attach()
576 * Context: Only called from attach() path context
577 */
578 static int
579 tavor_attach(dev_info_t *dip, ddi_attach_cmd_t cmd)
580 {
581 tavor_state_t *state;
582 ibc_clnt_hdl_t tmp_ibtfpriv;
583 ibc_status_t ibc_status;
584 int instance;
585 int status;
586
587 TAVOR_TNF_ENTER(tavor_attach);
588
589 #ifdef __lock_lint
590 (void) tavor_quiesce(dip);
591 #endif
592
593 switch (cmd) {
594 case DDI_ATTACH:
595 instance = ddi_get_instance(dip);
596 status = ddi_soft_state_zalloc(tavor_statep, instance);
597 if (status != DDI_SUCCESS) {
598 TNF_PROBE_0(tavor_attach_ssz_fail, TAVOR_TNF_ERROR, "");
599 cmn_err(CE_NOTE, "tavor%d: driver failed to attach: "
600 "attach_ssz_fail", instance);
601 goto fail_attach_nomsg;
602
603 }
604 state = ddi_get_soft_state(tavor_statep, instance);
605 if (state == NULL) {
606 ddi_soft_state_free(tavor_statep, instance);
607 TNF_PROBE_0(tavor_attach_gss_fail, TAVOR_TNF_ERROR, "");
608 cmn_err(CE_NOTE, "tavor%d: driver failed to attach: "
609 "attach_gss_fail", instance);
610 goto fail_attach_nomsg;
611 }
612
|
569 TAVOR_TNF_EXIT(tavor_close);
570 return (0);
571 }
572
573
574 /*
575 * tavor_attach()
576 * Context: Only called from attach() path context
577 */
578 static int
579 tavor_attach(dev_info_t *dip, ddi_attach_cmd_t cmd)
580 {
581 tavor_state_t *state;
582 ibc_clnt_hdl_t tmp_ibtfpriv;
583 ibc_status_t ibc_status;
584 int instance;
585 int status;
586
587 TAVOR_TNF_ENTER(tavor_attach);
588
589 switch (cmd) {
590 case DDI_ATTACH:
591 instance = ddi_get_instance(dip);
592 status = ddi_soft_state_zalloc(tavor_statep, instance);
593 if (status != DDI_SUCCESS) {
594 TNF_PROBE_0(tavor_attach_ssz_fail, TAVOR_TNF_ERROR, "");
595 cmn_err(CE_NOTE, "tavor%d: driver failed to attach: "
596 "attach_ssz_fail", instance);
597 goto fail_attach_nomsg;
598
599 }
600 state = ddi_get_soft_state(tavor_statep, instance);
601 if (state == NULL) {
602 ddi_soft_state_free(tavor_statep, instance);
603 TNF_PROBE_0(tavor_attach_gss_fail, TAVOR_TNF_ERROR, "");
604 cmn_err(CE_NOTE, "tavor%d: driver failed to attach: "
605 "attach_gss_fail", instance);
606 goto fail_attach_nomsg;
607 }
608
|