Date: Tue, 2 Apr 2013 17:29:17 +0000 (UTC) From: "Kenneth D. Merry" <ken@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r249028 - head/sys/cam/ctl Message-ID: <201304021729.r32HTHAw073869@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ken Date: Tue Apr 2 17:29:17 2013 New Revision: 249028 URL: http://svnweb.freebsd.org/changeset/base/249028 Log: Fix sending virtual scatter/gather lists from the CTL CAM frontend peripheral. Sponsored by: Spectra Logic Modified: head/sys/cam/ctl/scsi_ctl.c Modified: head/sys/cam/ctl/scsi_ctl.c ============================================================================== --- head/sys/cam/ctl/scsi_ctl.c Tue Apr 2 17:11:07 2013 (r249027) +++ head/sys/cam/ctl/scsi_ctl.c Tue Apr 2 17:29:17 2013 (r249028) @@ -916,7 +916,7 @@ ctlfestart(struct cam_periph *periph, un if (io->io_hdr.flags & CTL_FLAG_BUS_ADDR) flags |= CAM_DATA_SG_PADDR; else - flags &= ~CAM_DATA_SG; + flags |= CAM_DATA_SG; data_ptr = (uint8_t *)cam_sglist; dxfer_len = io->scsiio.kern_data_len; } else { @@ -938,6 +938,10 @@ ctlfestart(struct cam_periph *periph, un data_ptr = sglist[*ti].addr; dxfer_len = sglist[*ti].len; csio->sglist_cnt = 0; + if (io->io_hdr.flags & CTL_FLAG_BUS_ADDR) + flags |= CAM_DATA_PADDR; + else + flags |= CAM_DATA_VADDR; cmd_info->flags |= CTLFE_CMD_PIECEWISE; (*ti)++; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304021729.r32HTHAw073869>