Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/isp/isp_freebsd.c
Show First 20 Lines • Show All 438 Lines • ▼ Show 20 Lines | case ISP_RESETHBA: | ||||
ISP_LOCK(isp); | ISP_LOCK(isp); | ||||
isp_reinit(isp, 0); | isp_reinit(isp, 0); | ||||
ISP_UNLOCK(isp); | ISP_UNLOCK(isp); | ||||
retval = 0; | retval = 0; | ||||
break; | break; | ||||
case ISP_RESCAN: | case ISP_RESCAN: | ||||
if (IS_FC(isp)) { | if (IS_FC(isp)) { | ||||
chan = *(int *)addr; | chan = *(intptr_t *)addr; | ||||
if (chan < 0 || chan >= isp->isp_nchan) { | if (chan < 0 || chan >= isp->isp_nchan) { | ||||
retval = -ENXIO; | retval = -ENXIO; | ||||
break; | break; | ||||
} | } | ||||
ISP_LOCK(isp); | ISP_LOCK(isp); | ||||
if (isp_fc_runstate(isp, chan, 5 * 1000000) != LOOP_READY) { | if (isp_fc_runstate(isp, chan, 5 * 1000000) != LOOP_READY) { | ||||
retval = EIO; | retval = EIO; | ||||
} else { | } else { | ||||
retval = 0; | retval = 0; | ||||
} | } | ||||
ISP_UNLOCK(isp); | ISP_UNLOCK(isp); | ||||
} | } | ||||
break; | break; | ||||
case ISP_FC_LIP: | case ISP_FC_LIP: | ||||
if (IS_FC(isp)) { | if (IS_FC(isp)) { | ||||
chan = *(int *)addr; | chan = *(intptr_t *)addr; | ||||
if (chan < 0 || chan >= isp->isp_nchan) { | if (chan < 0 || chan >= isp->isp_nchan) { | ||||
retval = -ENXIO; | retval = -ENXIO; | ||||
break; | break; | ||||
} | } | ||||
ISP_LOCK(isp); | ISP_LOCK(isp); | ||||
if (isp_control(isp, ISPCTL_SEND_LIP, chan)) { | if (isp_control(isp, ISPCTL_SEND_LIP, chan)) { | ||||
retval = EIO; | retval = EIO; | ||||
} else { | } else { | ||||
▲ Show 20 Lines • Show All 3,841 Lines • Show Last 20 Lines |