From owner-svn-src-all@FreeBSD.ORG Tue Dec 27 14:59:24 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ED07A106566C; Tue, 27 Dec 2011 14:59:24 +0000 (UTC) (envelope-from mjacob@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DB90B8FC08; Tue, 27 Dec 2011 14:59:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pBRExOft057469; Tue, 27 Dec 2011 14:59:24 GMT (envelope-from mjacob@svn.freebsd.org) Received: (from mjacob@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id pBRExOog057466; Tue, 27 Dec 2011 14:59:24 GMT (envelope-from mjacob@svn.freebsd.org) Message-Id: <201112271459.pBRExOog057466@svn.freebsd.org> From: Matt Jacob Date: Tue, 27 Dec 2011 14:59:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r228914 - head/sys/dev/isp X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Dec 2011 14:59:25 -0000 Author: mjacob Date: Tue Dec 27 14:59:24 2011 New Revision: 228914 URL: http://svn.freebsd.org/changeset/base/228914 Log: Fix target mode compilation issues that arose after a change in the sense data structures. MFC after: 1 week Modified: head/sys/dev/isp/isp_freebsd.c head/sys/dev/isp/isp_freebsd.h Modified: head/sys/dev/isp/isp_freebsd.c ============================================================================== --- head/sys/dev/isp/isp_freebsd.c Tue Dec 27 13:01:10 2011 (r228913) +++ head/sys/dev/isp/isp_freebsd.c Tue Dec 27 14:59:24 2011 (r228914) @@ -3170,10 +3170,10 @@ isptargstart(struct cam_periph *periph, xpt_print(atio->ccb_h.path, "[0x%x] Non-Zero Lun %d: cdb0=0x%x\n", atio->tag_id, return_lun, cdb[0]); if (cdb[0] != INQUIRY && cdb[0] != REPORT_LUNS && cdb[0] != REQUEST_SENSE) { status = SCSI_STATUS_CHECK_COND; - atio->sense_data.error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR|SSD_KEY_ILLEGAL_REQUEST; - atio->sense_data.add_sense_code = 0x25; - atio->sense_data.add_sense_code_qual = 0x0; - atio->sense_len = sizeof (atio->sense_data); + SDFIXED(atio->sense_data)->error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR|SSD_KEY_ILLEGAL_REQUEST; + SDFIXED(atio->sense_data)->add_sense_code = 0x25; + SDFIXED(atio->sense_data)->add_sense_code_qual = 0x0; + atio->sense_len = SSD_MIN_SIZE; } return_lun = CAM_LUN_WILDCARD; } @@ -3197,10 +3197,10 @@ isptargstart(struct cam_periph *periph, case READ_16: if (isptarg_rwparm(cdb, disk_data, disk_size, atio->ccb_h.ccb_data_offset, &data_ptr, &data_len, &last)) { status = SCSI_STATUS_CHECK_COND; - atio->sense_data.error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR|SSD_KEY_UNIT_ATTENTION; - atio->sense_data.add_sense_code = 0x5; - atio->sense_data.add_sense_code_qual = 0x24; - atio->sense_len = sizeof (atio->sense_data); + SDFIXED(atio->sense_data)->error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR|SSD_KEY_UNIT_ATTENTION; + SDFIXED(atio->sense_data)->add_sense_code = 0x5; + SDFIXED(atio->sense_data)->add_sense_code_qual = 0x24; + atio->sense_len = SSD_MIN_SIZE; } else { #ifdef ISP_FORCE_TIMEOUT { @@ -3236,10 +3236,10 @@ isptargstart(struct cam_periph *periph, case WRITE_16: if (isptarg_rwparm(cdb, disk_data, disk_size, atio->ccb_h.ccb_data_offset, &data_ptr, &data_len, &last)) { status = SCSI_STATUS_CHECK_COND; - atio->sense_data.error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR|SSD_KEY_UNIT_ATTENTION; - atio->sense_data.add_sense_code = 0x5; - atio->sense_data.add_sense_code_qual = 0x24; - atio->sense_len = sizeof (atio->sense_data); + SDFIXED(atio->sense_data)->error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR|SSD_KEY_UNIT_ATTENTION; + SDFIXED(atio->sense_data)->add_sense_code = 0x5; + SDFIXED(atio->sense_data)->add_sense_code_qual = 0x24; + atio->sense_len = SSD_MIN_SIZE; } else { #ifdef ISP_FORCE_TIMEOUT { @@ -3273,10 +3273,10 @@ isptargstart(struct cam_periph *periph, flags |= CAM_DIR_IN; if (cdb[1] || cdb[2] || cdb[3]) { status = SCSI_STATUS_CHECK_COND; - atio->sense_data.error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR|SSD_KEY_UNIT_ATTENTION; - atio->sense_data.add_sense_code = 0x5; - atio->sense_data.add_sense_code_qual = 0x20; - atio->sense_len = sizeof (atio->sense_data); + SDFIXED(atio->sense_data)->error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR|SSD_KEY_UNIT_ATTENTION; + SDFIXED(atio->sense_data)->add_sense_code = 0x5; + SDFIXED(atio->sense_data)->add_sense_code_qual = 0x20; + atio->sense_len = SSD_MIN_SIZE; break; } data_len = sizeof (iqd); @@ -3297,10 +3297,10 @@ isptargstart(struct cam_periph *periph, if (ca) { ca = 0; status = SCSI_STATUS_CHECK_COND; - atio->sense_data.error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR|SSD_KEY_UNIT_ATTENTION; - atio->sense_data.add_sense_code = 0x28; - atio->sense_data.add_sense_code_qual = 0x0; - atio->sense_len = sizeof (atio->sense_data); + SDFIXED(atio->sense_data)->error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR|SSD_KEY_UNIT_ATTENTION; + SDFIXED(atio->sense_data)->add_sense_code = 0x28; + SDFIXED(atio->sense_data)->add_sense_code_qual = 0x0; + atio->sense_len = SSD_MIN_SIZE; } break; case SYNCHRONIZE_CACHE: @@ -3315,10 +3315,10 @@ isptargstart(struct cam_periph *periph, flags |= CAM_DIR_IN; if (cdb[2] || cdb[3] || cdb[4] || cdb[5]) { status = SCSI_STATUS_CHECK_COND; - atio->sense_data.error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR|SSD_KEY_UNIT_ATTENTION; - atio->sense_data.add_sense_code = 0x5; - atio->sense_data.add_sense_code_qual = 0x24; - atio->sense_len = sizeof (atio->sense_data); + SDFIXED(atio->sense_data)->error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR|SSD_KEY_UNIT_ATTENTION; + SDFIXED(atio->sense_data)->add_sense_code = 0x5; + SDFIXED(atio->sense_data)->add_sense_code_qual = 0x24; + atio->sense_len = SSD_MIN_SIZE; break; } if (cdb[8] & 0x1) { /* PMI */ @@ -3369,10 +3369,10 @@ isptargstart(struct cam_periph *periph, default: flags |= CAM_DIR_NONE; status = SCSI_STATUS_CHECK_COND; - atio->sense_data.error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR|SSD_KEY_UNIT_ATTENTION; - atio->sense_data.add_sense_code = 0x5; - atio->sense_data.add_sense_code_qual = 0x20; - atio->sense_len = sizeof (atio->sense_data); + SDFIXED(atio->sense_data)->error_code = SSD_ERRCODE_VALID|SSD_CURRENT_ERROR|SSD_KEY_UNIT_ATTENTION; + SDFIXED(atio->sense_data)->add_sense_code = 0x5; + SDFIXED(atio->sense_data)->add_sense_code_qual = 0x20; + atio->sense_len = SSD_MIN_SIZE; break; } Modified: head/sys/dev/isp/isp_freebsd.h ============================================================================== --- head/sys/dev/isp/isp_freebsd.h Tue Dec 27 13:01:10 2011 (r228913) +++ head/sys/dev/isp/isp_freebsd.h Tue Dec 27 14:59:24 2011 (r228914) @@ -76,6 +76,13 @@ #define ISP_IFLAGS INTR_TYPE_CAM | INTR_ENTROPY | INTR_MPSAFE #ifdef ISP_TARGET_MODE +/* Not quite right, but there was no bump for this change */ +#if __FreeBSD_version < 225469 +#define SDFIXED(x) (&x) +#else +#define SDFIXED(x) ((struct scsi_sense_data_fixed *)(&x)) +#endif + #define ISP_TARGET_FUNCTIONS 1 #define ATPDPSIZE 4096