Lines Matching refs:fcio
767 fcio_t fcio; in fp_ioctl() local
811 fcio.fcio_xfer = fcio32.fcio_xfer; in fp_ioctl()
812 fcio.fcio_cmd = fcio32.fcio_cmd; in fp_ioctl()
813 fcio.fcio_flags = fcio32.fcio_flags; in fp_ioctl()
814 fcio.fcio_cmd_flags = fcio32.fcio_cmd_flags; in fp_ioctl()
815 fcio.fcio_ilen = (size_t)fcio32.fcio_ilen; in fp_ioctl()
816 fcio.fcio_ibuf = in fp_ioctl()
818 fcio.fcio_olen = (size_t)fcio32.fcio_olen; in fp_ioctl()
819 fcio.fcio_obuf = in fp_ioctl()
821 fcio.fcio_alen = (size_t)fcio32.fcio_alen; in fp_ioctl()
822 fcio.fcio_abuf = in fp_ioctl()
824 fcio.fcio_errno = fcio32.fcio_errno; in fp_ioctl()
829 if (ddi_copyin((void *)data, (void *)&fcio, in fp_ioctl()
836 if (ddi_copyin((void *)data, (void *)&fcio, in fp_ioctl()
843 ret = fp_fciocmd(port, data, mode, &fcio); in fp_ioctl()
7224 fp_fciocmd(fc_local_port_t *port, intptr_t data, int mode, fcio_t *fcio) in fp_fciocmd() argument
7249 fcio->fcio_errno = FC_STATEC_BUSY; in fp_fciocmd()
7252 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
7260 if (fp_check_perms(open_flag, fcio->fcio_cmd) != FC_SUCCESS) { in fp_fciocmd()
7261 fcio->fcio_errno = FC_FAILURE; in fp_fciocmd()
7263 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
7278 fcio->fcio_errno = FC_FAILURE; in fp_fciocmd()
7285 fcio->fcio_errno = FC_SUCCESS; in fp_fciocmd()
7287 switch (fcio->fcio_cmd) { in fp_fciocmd()
7297 if (fcio->fcio_olen != sizeof (*val32) || in fp_fciocmd()
7298 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
7303 if (fcio->fcio_olen != sizeof (*val) || in fp_fciocmd()
7304 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
7350 if (fp_copyout((void *)val32, (void *)fcio->fcio_obuf, in fp_fciocmd()
7351 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
7352 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
7361 if (fp_copyout((void *)val, (void *)fcio->fcio_obuf, in fp_fciocmd()
7362 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
7363 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
7381 if (fcio->fcio_olen < MAXPATHLEN || in fp_fciocmd()
7382 fcio->fcio_ilen != sizeof (uint32_t)) { in fp_fciocmd()
7386 if (ddi_copyin(fcio->fcio_ibuf, &index, sizeof (index), mode)) { in fp_fciocmd()
7395 fcio->fcio_errno = FC_BADPORT; in fp_fciocmd()
7397 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
7405 if (fp_copyout((void *)tmpPath, (void *)fcio->fcio_obuf, in fp_fciocmd()
7407 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
7423 if (fcio->fcio_olen < sizeof (*val32) || in fp_fciocmd()
7424 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
7429 if (fcio->fcio_olen < sizeof (*val) || in fp_fciocmd()
7430 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
7477 if (fcio->fcio_cmd == FCIO_GET_ADAPTER_ATTRIBUTES) { in fp_fciocmd()
7512 if (fp_copyout((void *)val32, (void *)fcio->fcio_obuf, in fp_fciocmd()
7513 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
7514 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
7523 if (fp_copyout((void *)val, (void *)fcio->fcio_obuf, in fp_fciocmd()
7524 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
7525 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
7549 if (fp_copyout((void *)attrs, (void *)fcio->fcio_obuf, in fp_fciocmd()
7550 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
7551 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
7567 if (ddi_copyin(fcio->fcio_ibuf, in fp_fciocmd()
7637 if (ddi_copyin(fcio->fcio_ibuf, in fp_fciocmd()
7661 (void *)fcio->fcio_obuf, in fp_fciocmd()
7662 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
7663 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
7681 if ((fcio->fcio_xfer != FCIO_XFER_READ) || in fp_fciocmd()
7682 (fcio->fcio_olen == 0) || (fcio->fcio_obuf == 0)) { in fp_fciocmd()
7687 list = kmem_zalloc(fcio->fcio_olen, KM_SLEEP); in fp_fciocmd()
7690 count = (fcio->fcio_olen - in fp_fciocmd()
7702 kmem_free(list, fcio->fcio_olen); in fp_fciocmd()
7708 if (fp_copyout((void *)list, (void *)fcio->fcio_obuf, in fp_fciocmd()
7709 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
7710 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
7719 kmem_free(list, fcio->fcio_olen); in fp_fciocmd()
7748 if (fp_copyout((void *)val, (void *)fcio->fcio_obuf, in fp_fciocmd()
7749 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
7750 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
7765 if (fcio->fcio_olen < sizeof (*val32) || in fp_fciocmd()
7766 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
7771 if (fcio->fcio_olen < sizeof (*val) || in fp_fciocmd()
7772 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
7940 if (fp_copyout((void *)val32, (void *)fcio->fcio_obuf, in fp_fciocmd()
7941 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
7942 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
7951 if (fp_copyout((void *)val, (void *)fcio->fcio_obuf, in fp_fciocmd()
7952 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
7953 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
7972 if (fcio->fcio_olen < sizeof (*val32) || in fp_fciocmd()
7973 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
7978 if (fcio->fcio_olen < sizeof (*val) || in fp_fciocmd()
7979 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
7985 if (ddi_copyin(fcio->fcio_ibuf, &index, sizeof (index), mode)) { in fp_fciocmd()
7993 fcio->fcio_errno = FC_OUTOFBOUNDS; in fp_fciocmd()
7995 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8008 fcio->fcio_errno = FC_BADPORT; in fp_fciocmd()
8079 (void *)fcio->fcio_obuf, in fp_fciocmd()
8080 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
8081 if (fp_fcio_copyout(fcio, in fp_fciocmd()
8092 (void *)fcio->fcio_obuf, in fp_fciocmd()
8093 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
8094 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8115 if (fcio->fcio_olen < sizeof (*val32) || in fp_fciocmd()
8116 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
8121 if (fcio->fcio_olen < sizeof (*val) || in fp_fciocmd()
8122 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
8128 if (ddi_copyin(fcio->fcio_ibuf, &wwn, sizeof (wwn), mode)) { in fp_fciocmd()
8143 fcio->fcio_errno = FC_BADWWN; in fp_fciocmd()
8207 (void *)fcio->fcio_obuf, in fp_fciocmd()
8208 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
8209 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8219 (void *)fcio->fcio_obuf, in fp_fciocmd()
8220 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
8221 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8236 if (fcio->fcio_olen != sizeof (num_devices) || in fp_fciocmd()
8237 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
8247 fcio->fcio_errno = FC_SUCCESS; in fp_fciocmd()
8268 fcio->fcio_errno = FC_SUCCESS; in fp_fciocmd()
8277 fcio->fcio_errno = FC_SUCCESS; in fp_fciocmd()
8283 (void *)fcio->fcio_obuf, fcio->fcio_olen, in fp_fciocmd()
8285 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8299 if (fcio->fcio_xfer != FCIO_XFER_READ || in fp_fciocmd()
8300 fcio->fcio_alen != sizeof (new_count)) { in fp_fciocmd()
8305 num_devices = fcio->fcio_olen / sizeof (fc_port_dev_t); in fp_fciocmd()
8309 fcio->fcio_errno = FC_TOOMANY; in fp_fciocmd()
8314 (void *)fcio->fcio_abuf, in fp_fciocmd()
8320 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8329 fcio->fcio_errno = FC_NO_MAP; in fp_fciocmd()
8334 (void *)fcio->fcio_abuf, in fp_fciocmd()
8340 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8350 if (fp_fillout_loopmap(port, fcio, in fp_fciocmd()
8355 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8361 if (fp_fillout_p2pmap(port, fcio, in fp_fciocmd()
8366 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8401 fcio->fcio_errno = job->job_result; in fp_fciocmd()
8404 (void *)fcio->fcio_abuf, in fp_fciocmd()
8412 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8426 (void *)fcio->fcio_abuf, sizeof (new_count), in fp_fciocmd()
8435 (void *)fcio->fcio_obuf, sizeof (fc_port_dev_t) * in fp_fciocmd()
8444 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8456 fcio->fcio_errno = FC_NO_MAP; in fp_fciocmd()
8460 (void *)fcio->fcio_abuf, in fp_fciocmd()
8466 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8505 if (fcio->fcio_ilen != sizeof (la_wwn_t) || in fp_fciocmd()
8506 (fcio->fcio_xfer & FCIO_XFER_READ) == 0 || in fp_fciocmd()
8507 (fcio->fcio_xfer & FCIO_XFER_WRITE) == 0) { in fp_fciocmd()
8513 if (fcio->fcio_olen != sizeof (la_els_logi32_t)) { in fp_fciocmd()
8518 if (fcio->fcio_olen != sizeof (la_els_logi_t)) { in fp_fciocmd()
8524 if (ddi_copyin(fcio->fcio_ibuf, &pwwn, sizeof (pwwn), mode)) { in fp_fciocmd()
8583 (void *)fcio->fcio_obuf, in fp_fciocmd()
8590 if (ddi_copyout((void *)params, (void *)fcio->fcio_obuf, in fp_fciocmd()
8597 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8605 if (fcio->fcio_ilen != sizeof (la_wwn_t) || in fp_fciocmd()
8606 fcio->fcio_xfer != FCIO_XFER_WRITE) { in fp_fciocmd()
8609 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8615 if (fcio->fcio_cmd == FCIO_DEV_LOGIN) { in fp_fciocmd()
8622 bcopy(fcio, kfcio, sizeof (*fcio)); in fp_fciocmd()
8628 if (ddi_copyin((void *)fcio->fcio_ibuf, in fp_fciocmd()
8635 fcio->fcio_errno = job->job_result; in fp_fciocmd()
8636 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8651 fcio->fcio_errno = kfcio->fcio_errno; in fp_fciocmd()
8652 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8667 if (fcio->fcio_ilen != sizeof (la_wwn_t) || in fp_fciocmd()
8668 fcio->fcio_olen != sizeof (state) || in fp_fciocmd()
8669 (fcio->fcio_xfer & FCIO_XFER_WRITE) == 0 || in fp_fciocmd()
8670 (fcio->fcio_xfer & FCIO_XFER_READ) == 0) { in fp_fciocmd()
8675 if (ddi_copyin(fcio->fcio_ibuf, &pwwn, sizeof (pwwn), mode)) { in fp_fciocmd()
8679 fcio->fcio_errno = 0; in fp_fciocmd()
8709 fcio->fcio_errno = ret; in fp_fciocmd()
8711 fcio->fcio_errno = in fp_fciocmd()
8722 fcio->fcio_errno = FC_BADWWN; in fp_fciocmd()
8735 (void *)fcio->fcio_obuf, sizeof (state), in fp_fciocmd()
8740 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8751 if (fcio->fcio_ilen != sizeof (la_wwn_t) || in fp_fciocmd()
8752 fcio->fcio_xfer != FCIO_XFER_WRITE) { in fp_fciocmd()
8757 if (ddi_copyin(fcio->fcio_ibuf, &pwwn, sizeof (pwwn), mode)) { in fp_fciocmd()
8765 fcio->fcio_errno = FC_BADWWN; in fp_fciocmd()
8766 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8777 fcio->fcio_errno = FC_FAILURE; in fp_fciocmd()
8780 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8801 if (fcio->fcio_olen < FC_FCODE_REV_SIZE || in fp_fciocmd()
8802 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
8808 fcode_rev = kmem_zalloc(fcio->fcio_olen, KM_SLEEP); in fp_fciocmd()
8812 pm.pm_data_len = fcio->fcio_olen; in fp_fciocmd()
8820 (void *)fcio->fcio_obuf, in fp_fciocmd()
8821 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
8822 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8833 if (pm.pm_data_len > fcio->fcio_olen) { in fp_fciocmd()
8838 fcio->fcio_errno = ret; in fp_fciocmd()
8839 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8843 kmem_free(fcode_rev, fcio->fcio_olen); in fp_fciocmd()
8851 if (fcio->fcio_olen < FC_FW_REV_SIZE || in fp_fciocmd()
8852 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
8858 fw_rev = kmem_zalloc(fcio->fcio_olen, KM_SLEEP); in fp_fciocmd()
8862 pm.pm_data_len = fcio->fcio_olen; in fp_fciocmd()
8870 (void *)fcio->fcio_obuf, in fp_fciocmd()
8871 fcio->fcio_olen, mode) == 0) { in fp_fciocmd()
8872 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8879 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8884 kmem_free(fw_rev, fcio->fcio_olen); in fp_fciocmd()
8892 if (fcio->fcio_olen != sizeof (dump_size) || in fp_fciocmd()
8893 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
8908 (void *)fcio->fcio_obuf, sizeof (dump_size), in fp_fciocmd()
8910 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8917 fcio->fcio_errno = ret; in fp_fciocmd()
8919 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8930 if (fcio->fcio_ilen <= 0 || in fp_fciocmd()
8931 fcio->fcio_xfer != FCIO_XFER_WRITE) { in fp_fciocmd()
8936 firmware = kmem_zalloc(fcio->fcio_ilen, KM_SLEEP); in fp_fciocmd()
8937 if (ddi_copyin(fcio->fcio_ibuf, firmware, in fp_fciocmd()
8938 fcio->fcio_ilen, mode)) { in fp_fciocmd()
8940 kmem_free(firmware, fcio->fcio_ilen); in fp_fciocmd()
8947 pm.pm_data_len = fcio->fcio_ilen; in fp_fciocmd()
8953 kmem_free(firmware, fcio->fcio_ilen); in fp_fciocmd()
8956 fcio->fcio_errno = ret; in fp_fciocmd()
8958 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
8969 if (fcio->fcio_ilen <= 0 || in fp_fciocmd()
8970 fcio->fcio_xfer != FCIO_XFER_WRITE) { in fp_fciocmd()
8975 fcode = kmem_zalloc(fcio->fcio_ilen, KM_SLEEP); in fp_fciocmd()
8976 if (ddi_copyin(fcio->fcio_ibuf, fcode, in fp_fciocmd()
8977 fcio->fcio_ilen, mode)) { in fp_fciocmd()
8979 kmem_free(fcode, fcio->fcio_ilen); in fp_fciocmd()
8986 pm.pm_data_len = fcio->fcio_ilen; in fp_fciocmd()
8992 kmem_free(fcode, fcio->fcio_ilen); in fp_fciocmd()
8995 fcio->fcio_errno = ret; in fp_fciocmd()
8997 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9009 fcio->fcio_errno = ret; in fp_fciocmd()
9011 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9022 if (fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
9037 fcio->fcio_errno = ret; in fp_fciocmd()
9039 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9044 if (fcio->fcio_olen != dump_size) { in fp_fciocmd()
9045 fcio->fcio_errno = FC_NOMEM; in fp_fciocmd()
9047 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9065 if (ddi_copyout((void *)dump, (void *)fcio->fcio_obuf, in fp_fciocmd()
9067 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9074 fcio->fcio_errno = ret; in fp_fciocmd()
9076 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9087 if (fcio->fcio_xfer != FCIO_XFER_READ || in fp_fciocmd()
9088 fcio->fcio_olen != sizeof (user_topology)) { in fp_fciocmd()
9102 (void *)fcio->fcio_obuf, sizeof (user_topology), in fp_fciocmd()
9120 if (fcio->fcio_xfer != FCIO_XFER_WRITE || in fp_fciocmd()
9121 fcio->fcio_ilen != sizeof (pwwn)) { in fp_fciocmd()
9126 if (ddi_copyin(fcio->fcio_ibuf, &pwwn, in fp_fciocmd()
9156 fcio->fcio_errno = job->job_result; in fp_fciocmd()
9158 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9170 fcio->fcio_errno = ret; in fp_fciocmd()
9172 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9183 fcio->fcio_errno = ret; in fp_fciocmd()
9184 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9196 if (((fcio->fcio_ilen > 0) && (fcio->fcio_ibuf == NULL)) || in fp_fciocmd()
9197 ((fcio->fcio_ilen <= 0) && (fcio->fcio_ibuf != NULL)) || in fp_fciocmd()
9198 ((fcio->fcio_alen > 0) && (fcio->fcio_abuf == NULL)) || in fp_fciocmd()
9199 ((fcio->fcio_alen <= 0) && (fcio->fcio_abuf != NULL)) || in fp_fciocmd()
9200 ((fcio->fcio_olen > 0) && (fcio->fcio_obuf == NULL)) || in fp_fciocmd()
9201 ((fcio->fcio_olen <= 0) && (fcio->fcio_obuf != NULL))) { in fp_fciocmd()
9206 if ((pm.pm_cmd_len = fcio->fcio_ilen) > 0) { in fp_fciocmd()
9207 pm.pm_cmd_buf = kmem_zalloc(fcio->fcio_ilen, KM_SLEEP); in fp_fciocmd()
9208 if (ddi_copyin(fcio->fcio_ibuf, pm.pm_cmd_buf, in fp_fciocmd()
9209 fcio->fcio_ilen, mode)) { in fp_fciocmd()
9215 if ((pm.pm_data_len = fcio->fcio_alen) > 0) { in fp_fciocmd()
9216 pm.pm_data_buf = kmem_zalloc(fcio->fcio_alen, KM_SLEEP); in fp_fciocmd()
9217 if (ddi_copyin(fcio->fcio_abuf, pm.pm_data_buf, in fp_fciocmd()
9218 fcio->fcio_alen, mode)) { in fp_fciocmd()
9224 if ((pm.pm_stat_len = fcio->fcio_olen) > 0) { in fp_fciocmd()
9225 pm.pm_stat_buf = kmem_zalloc(fcio->fcio_olen, KM_SLEEP); in fp_fciocmd()
9229 pm.pm_cmd_flags = fcio->fcio_cmd_flags; in fp_fciocmd()
9241 fcio->fcio_errno = ret; in fp_fciocmd()
9242 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9256 if (pm.pm_stat_len > fcio->fcio_olen) { in fp_fciocmd()
9261 if (ddi_copyout(pm.pm_stat_buf, fcio->fcio_obuf, in fp_fciocmd()
9262 fcio->fcio_olen, mode)) { in fp_fciocmd()
9270 if (ddi_copyout(pm.pm_stat_buf, fcio->fcio_obuf, in fp_fciocmd()
9277 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9283 kmem_free(pm.pm_cmd_buf, fcio->fcio_ilen); in fp_fciocmd()
9286 kmem_free(pm.pm_data_buf, fcio->fcio_alen); in fp_fciocmd()
9289 kmem_free(pm.pm_stat_buf, fcio->fcio_olen); in fp_fciocmd()
9297 if (fcio->fcio_xfer != FCIO_XFER_READ || in fp_fciocmd()
9298 fcio->fcio_olen < sizeof (fc_rnid_t)) { in fp_fciocmd()
9303 rval = fp_get_rnid(port, data, mode, fcio); in fp_fciocmd()
9313 if (fcio->fcio_ilen != sizeof (la_wwn_t) || in fp_fciocmd()
9314 fcio->fcio_xfer != FCIO_XFER_READ) { in fp_fciocmd()
9319 if (ddi_copyin(fcio->fcio_ibuf, &pwwn, in fp_fciocmd()
9325 rval = fp_send_rnid(port, data, mode, fcio, &pwwn); in fp_fciocmd()
9332 if (fcio->fcio_ilen != sizeof (fc_rnid_t) || in fp_fciocmd()
9333 (fcio->fcio_xfer != FCIO_XFER_WRITE)) { in fp_fciocmd()
9338 rval = fp_set_rnid(port, data, mode, fcio); in fp_fciocmd()
9352 if (fcio->fcio_ilen != sizeof (fc_portid_t) || in fp_fciocmd()
9353 fcio->fcio_olen != sizeof (fc_rls_acc_t) || in fp_fciocmd()
9354 fcio->fcio_xfer != FCIO_XFER_RW) { in fp_fciocmd()
9359 if ((fcio->fcio_cmd_flags != FCIO_CFLAGS_RLS_DEST_FPORT) && in fp_fciocmd()
9360 (fcio->fcio_cmd_flags != FCIO_CFLAGS_RLS_DEST_NPORT)) { in fp_fciocmd()
9365 if (ddi_copyin((void *)fcio->fcio_ibuf, (void *)&rls_req, in fp_fciocmd()
9373 if (fcio->fcio_cmd_flags == FCIO_CFLAGS_RLS_DEST_FPORT) { in fp_fciocmd()
9405 (void *)fcio->fcio_obuf, in fp_fciocmd()
9407 if (fp_fcio_copyout(fcio, data, in fp_fciocmd()
9416 fcio->fcio_errno = ret; in fp_fciocmd()
9417 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9436 fcio->fcio_errno = FC_BADOBJECT; in fp_fciocmd()
9438 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9449 fcio->fcio_errno = FC_LOGINREQ; in fp_fciocmd()
9451 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9473 fcio->fcio_errno = FC_NOMEM; in fp_fciocmd()
9479 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9510 fcio->fcio_errno = job->job_result; in fp_fciocmd()
9519 (void *)fcio->fcio_obuf, in fp_fciocmd()
9521 if (fp_fcio_copyout(fcio, data, in fp_fciocmd()
9550 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9562 if (fcio->fcio_ilen != sizeof (*ns_req32)) { in fp_fciocmd()
9570 if (ddi_copyin(fcio->fcio_ibuf, ns_req32, in fp_fciocmd()
9589 if (fcio->fcio_ilen != sizeof (*ns_req)) { in fp_fciocmd()
9596 if (ddi_copyin(fcio->fcio_ibuf, ns_req, in fp_fciocmd()
9659 if (fp_fcio_copyout(fcio, data, mode)) { in fp_fciocmd()
9700 fp_set_rnid(fc_local_port_t *port, intptr_t data, int mode, fcio_t *fcio) in fp_set_rnid() argument
9709 if (ddi_copyin(fcio->fcio_ibuf, rnid, sizeof (fc_rnid_t), mode)) { in fp_set_rnid()
9728 fcio->fcio_errno = rval; in fp_set_rnid()
9730 if (fp_fcio_copyout(fcio, data, mode)) { in fp_set_rnid()
9754 fp_get_rnid(fc_local_port_t *port, intptr_t data, int mode, fcio_t *fcio) in fp_get_rnid() argument
9769 if (ddi_copyout((void *)rnid, (void *)fcio->fcio_obuf, in fp_get_rnid()
9771 if (fp_fcio_copyout(fcio, data, mode)) { in fp_get_rnid()
9811 (void *)fcio->fcio_obuf, in fp_get_rnid()
9813 if (fp_fcio_copyout(fcio, data, in fp_get_rnid()
9822 fcio->fcio_errno = ret; in fp_get_rnid()
9823 if (fp_fcio_copyout(fcio, data, mode)) { in fp_get_rnid()
9838 fp_send_rnid(fc_local_port_t *port, intptr_t data, int mode, fcio_t *fcio, in fp_send_rnid() argument
9875 fcio->fcio_errno = FC_NOMEM; in fp_send_rnid()
9879 if (fp_fcio_copyout(fcio, data, mode)) { in fp_send_rnid()
9900 fp_rnid_init(cmd, fcio->fcio_cmd_flags, job); in fp_send_rnid()
9911 fcio->fcio_errno = job->job_result; in fp_send_rnid()
9926 if (fcio->fcio_olen < rnid_cnt) { in fp_send_rnid()
9929 (void *)fcio->fcio_obuf, in fp_send_rnid()
9931 if (fp_fcio_copyout(fcio, data, in fp_send_rnid()
9954 if (fp_fcio_copyout(fcio, data, mode)) { in fp_send_rnid()
9969 fp_fcio_copyout(fcio_t *fcio, intptr_t data, int mode) in fp_fcio_copyout() argument
9978 fcio32.fcio_xfer = fcio->fcio_xfer; in fp_fcio_copyout()
9979 fcio32.fcio_cmd = fcio->fcio_cmd; in fp_fcio_copyout()
9980 fcio32.fcio_flags = fcio->fcio_flags; in fp_fcio_copyout()
9981 fcio32.fcio_cmd_flags = fcio->fcio_cmd_flags; in fp_fcio_copyout()
9982 fcio32.fcio_ilen = fcio->fcio_ilen; in fp_fcio_copyout()
9984 (caddr32_t)(uintptr_t)fcio->fcio_ibuf; in fp_fcio_copyout()
9985 fcio32.fcio_olen = fcio->fcio_olen; in fp_fcio_copyout()
9987 (caddr32_t)(uintptr_t)fcio->fcio_obuf; in fp_fcio_copyout()
9988 fcio32.fcio_alen = fcio->fcio_alen; in fp_fcio_copyout()
9990 (caddr32_t)(uintptr_t)fcio->fcio_abuf; in fp_fcio_copyout()
9991 fcio32.fcio_errno = fcio->fcio_errno; in fp_fcio_copyout()
9998 rval = ddi_copyout((void *)fcio, (void *)data, in fp_fcio_copyout()
10003 rval = ddi_copyout((void *)fcio, (void *)data, sizeof (fcio_t), mode); in fp_fcio_copyout()
10046 fp_fillout_p2pmap(fc_local_port_t *port, fcio_t *fcio, int mode) in fp_fillout_p2pmap() argument
10059 num_devices = fcio->fcio_olen / sizeof (fc_port_dev_t); in fp_fillout_p2pmap()
10104 if (fp_copyout((void *)&count, (void *)fcio->fcio_abuf, in fp_fillout_p2pmap()
10107 } else if (fp_copyout((void *)devlist, (void *)fcio->fcio_obuf, in fp_fillout_p2pmap()
10475 fp_fillout_loopmap(fc_local_port_t *port, fcio_t *fcio, int mode) in fp_fillout_loopmap() argument
10489 num_devices = fcio->fcio_olen / sizeof (fc_port_dev_t); in fp_fillout_loopmap()
10578 if (fp_copyout((void *)&count, (void *)fcio->fcio_abuf, in fp_fillout_loopmap()
10583 if (fp_copyout((void *)devlist, (void *)fcio->fcio_obuf, in fp_fillout_loopmap()
15041 fp_fcio_login(fc_local_port_t *port, fcio_t *fcio, job_request_t *job) in fp_fcio_login() argument
15051 bcopy(fcio->fcio_ibuf, &pwwn, sizeof (pwwn)); in fp_fcio_login()
15073 fcio->fcio_errno = ret; in fp_fcio_login()
15075 fcio->fcio_errno = job->job_result; in fp_fcio_login()
15087 fcio->fcio_errno = FC_BADWWN; in fp_fcio_login()
15107 fcio->fcio_errno = FC_SUCCESS; in fp_fcio_login()
15121 fcio->fcio_errno = FC_FAILURE; in fp_fcio_login()
15139 fcio->fcio_errno = ret; in fp_fcio_login()
15147 fcio->fcio_errno = job->job_result; in fp_fcio_login()
15159 fcio->fcio_errno = FC_BADDEV; in fp_fcio_login()
15181 fp_fcio_logout(fc_local_port_t *port, fcio_t *fcio, job_request_t *job) in fp_fcio_logout() argument
15188 bcopy(fcio->fcio_ibuf, &pwwn, sizeof (pwwn)); in fp_fcio_logout()
15192 fcio->fcio_errno = FC_BADWWN; in fp_fcio_logout()
15198 fcio->fcio_errno = FC_LOGINREQ; in fp_fcio_logout()
15209 fcio->fcio_errno = FC_FAILURE; in fp_fcio_logout()
15219 fcio->fcio_errno = FC_SUCCESS; in fp_fcio_logout()
15242 fcio->fcio_errno = FC_NOMEM; in fp_fcio_logout()
15279 fcio->fcio_errno = job->job_result; in fp_fcio_logout()