summaryrefslogtreecommitdiffstats
path: root/sys/dev/hptmv/entry.c
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2014-06-14 00:44:57 +0000
committerdelphij <delphij@FreeBSD.org>2014-06-14 00:44:57 +0000
commitab49cda14759bcd622b82320c0fcf9560ff4ae04 (patch)
tree0053b98943319e89d24149a073779330e5a8ca85 /sys/dev/hptmv/entry.c
parent30000c41d7e2bae2a98ead82306913030d9bc345 (diff)
downloadFreeBSD-src-ab49cda14759bcd622b82320c0fcf9560ff4ae04.zip
FreeBSD-src-ab49cda14759bcd622b82320c0fcf9560ff4ae04.tar.gz
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
Diffstat (limited to 'sys/dev/hptmv/entry.c')
-rw-r--r--sys/dev/hptmv/entry.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/dev/hptmv/entry.c b/sys/dev/hptmv/entry.c
index 85d658e..37ff6c2 100644
--- a/sys/dev/hptmv/entry.c
+++ b/sys/dev/hptmv/entry.c
@@ -2016,7 +2016,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);
@@ -2623,7 +2623,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;
OpenPOWER on IntegriCloud