From 5cf8daa456eb7f757eb19f860bc19c2bae61a7f4 Mon Sep 17 00:00:00 2001 From: Xin LI Date: Sat, 14 Jun 2014 00:54:57 +0000 Subject: MFC r267368: Apply vendor fixes to the High Point drivers: - Don't call xpt_free_path() in os_query_remove_device() and always return TRUE. - Update os_buildsgl() to support build logical SG table which will be used by lower RAID module. - Return CAM_SEL_TIMEOUTstatus for SCSIcommand failed as target missing. Many thanks to HighPoint for providing this driver update. Submitted by: Steve Chang Reviewed by: mav Approved by: re (gjb) --- sys/dev/hptmv/entry.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'sys/dev/hptmv') diff --git a/sys/dev/hptmv/entry.c b/sys/dev/hptmv/entry.c index 80f513036a2b..7c324f88cfce 100644 --- a/sys/dev/hptmv/entry.c +++ b/sys/dev/hptmv/entry.c @@ -2015,7 +2015,7 @@ hpt_probe(device_t dev) { KdPrintI((CONTROLLER_NAME " found\n")); device_set_desc(dev, CONTROLLER_NAME); - return 0; + return (BUS_PROBE_DEFAULT); } else return(ENXIO); @@ -2622,7 +2622,14 @@ launch_worker_thread(void) int HPTLIBAPI fOsBuildSgl(_VBUS_ARG PCommand pCmd, FPSCAT_GATH pSg, int logical) { - + union ccb *ccb = (union ccb *)pCmd->pOrgCommand; + + if (logical) { + pSg->dSgAddress = (ULONG_PTR)(UCHAR *)ccb->csio.data_ptr; + pSg->wSgSize = ccb->csio.dxfer_len; + pSg->wSgFlag = SG_FLAG_EOT; + return TRUE; + } /* since we have provided physical sg, nobody will ask us to build physical sg */ HPT_ASSERT(0); return FALSE; -- cgit v1.3