From owner-svn-src-stable-7@FreeBSD.ORG Sun May 27 19:10:29 2012 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C9B38106566B; Sun, 27 May 2012 19:10:29 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B3F148FC0A; Sun, 27 May 2012 19:10:29 +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 q4RJATV3066876; Sun, 27 May 2012 19:10:29 GMT (envelope-from sbruno@svn.freebsd.org) Received: (from sbruno@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q4RJATf7066874; Sun, 27 May 2012 19:10:29 GMT (envelope-from sbruno@svn.freebsd.org) Message-Id: <201205271910.q4RJATf7066874@svn.freebsd.org> From: Sean Bruno Date: Sun, 27 May 2012 19:10:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r236163 - stable/7/usr.sbin/mfiutil X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 May 2012 19:10:29 -0000 Author: sbruno Date: Sun May 27 19:10:29 2012 New Revision: 236163 URL: http://svn.freebsd.org/changeset/base/236163 Log: MFC r235635 Decode new battery status indications. Modified: stable/7/usr.sbin/mfiutil/mfi_show.c Directory Properties: stable/7/usr.sbin/mfiutil/ (props changed) Modified: stable/7/usr.sbin/mfiutil/mfi_show.c ============================================================================== --- stable/7/usr.sbin/mfiutil/mfi_show.c Sun May 27 19:03:16 2012 (r236162) +++ stable/7/usr.sbin/mfiutil/mfi_show.c Sun May 27 19:10:29 2012 (r236163) @@ -219,7 +219,29 @@ show_battery(int ac, char **av) } if (stat.fw_status & MFI_BBU_STATE_DISCHARGE_ACTIVE) { printf("%s DISCHARGING", comma ? "," : ""); + comma = 1; } + if (stat.fw_status & MFI_BBU_STATE_LEARN_CYC_REQ) { + printf("%s LEARN_CYCLE_REQUESTED", comma ? "," : ""); + comma = 1; + } + if (stat.fw_status & MFI_BBU_STATE_LEARN_CYC_ACTIVE) { + printf("%s LEARN_CYCLE_ACTIVE", comma ? "," : ""); + comma = 1; + } + if (stat.fw_status & MFI_BBU_STATE_LEARN_CYC_FAIL) { + printf("%s LEARN_CYCLE_FAIL", comma ? "," : ""); + comma = 1; + } + if (stat.fw_status & MFI_BBU_STATE_LEARN_CYC_TIMEOUT) { + printf("%s LEARN_CYCLE_TIMEOUT", comma ? "," : ""); + comma = 1; + } + if (stat.fw_status & MFI_BBU_STATE_I2C_ERR_DETECT) { + printf("%s I2C_ERROR_DETECT", comma ? "," : ""); + comma = 1; + } + if (!comma) printf(" normal"); printf("\n"); From owner-svn-src-stable-7@FreeBSD.ORG Mon May 28 15:34:56 2012 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1A6F4106566C; Mon, 28 May 2012 15:34:56 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 04EE18FC12; Mon, 28 May 2012 15:34:56 +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 q4SFYtcN019194; Mon, 28 May 2012 15:34:55 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q4SFYtiO019192; Mon, 28 May 2012 15:34:55 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201205281534.q4SFYtiO019192@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 28 May 2012 15:34:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r236187 - stable/7 X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 May 2012 15:34:56 -0000 Author: des Date: Mon May 28 15:34:55 2012 New Revision: 236187 URL: http://svn.freebsd.org/changeset/base/236187 Log: Make yacc a bootstrap tool if building on head, since the new yacc is not 100% backward compatible. Modified: stable/7/Makefile.inc1 Modified: stable/7/Makefile.inc1 ============================================================================== --- stable/7/Makefile.inc1 Mon May 28 14:50:13 2012 (r236186) +++ stable/7/Makefile.inc1 Mon May 28 15:34:55 2012 (r236187) @@ -888,6 +888,10 @@ _colldef= usr.bin/colldef _gencat= usr.bin/gencat .endif +.if ${BOOTSTRAPPING} >= 1000013 +_yacc= usr.bin/yacc +.endif + .if ${BOOTSTRAPPING} < 600016 _mklocale= usr.bin/mklocale .endif @@ -922,6 +926,7 @@ bootstrap-tools: ${_gencat} \ usr.bin/lorder \ usr.bin/makewhatis \ + ${_yacc} \ ${_mklocale} \ usr.bin/rpcgen \ usr.bin/xinstall \ From owner-svn-src-stable-7@FreeBSD.ORG Mon May 28 22:09:50 2012 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9AB90106566B; Mon, 28 May 2012 22:09:50 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 854CB8FC0C; Mon, 28 May 2012 22:09:50 +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 q4SM9o31036387; Mon, 28 May 2012 22:09:50 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q4SM9oVV036384; Mon, 28 May 2012 22:09:50 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201205282209.q4SM9oVV036384@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 28 May 2012 22:09:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r236205 - stable/7 X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 May 2012 22:09:50 -0000 Author: des Date: Mon May 28 22:09:50 2012 New Revision: 236205 URL: http://svn.freebsd.org/changeset/base/236205 Log: MFH r230622: use build tools, not host tools, to build aicasm. Modified: stable/7/Makefile.inc1 (contents, props changed) Directory Properties: stable/7/ (props changed) Modified: stable/7/Makefile.inc1 ============================================================================== --- stable/7/Makefile.inc1 Mon May 28 22:07:32 2012 (r236204) +++ stable/7/Makefile.inc1 Mon May 28 22:09:50 2012 (r236205) @@ -735,6 +735,7 @@ buildkernel: @echo ">>> stage 2.3: build tools" @echo "--------------------------------------------------------------" cd ${KRNLOBJDIR}/${_kernel}; \ + PATH=${BPATH}:${PATH} \ MAKESRCPATH=${KERNSRCDIR}/dev/aic7xxx/aicasm \ ${MAKE} -DNO_CPU_CFLAGS -DNO_CTF \ -f ${KERNSRCDIR}/dev/aic7xxx/aicasm/Makefile @@ -742,6 +743,7 @@ buildkernel: .if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KERNSRCDIR}/modules) .for target in obj depend all cd ${KERNSRCDIR}/modules/aic7xxx/aicasm; \ + PATH=${BPATH}:${PATH} \ MAKEOBJDIRPREFIX=${KRNLOBJDIR}/${_kernel}/modules \ ${MAKE} -DNO_CPU_CFLAGS -DNO_CTF ${target} .endfor From owner-svn-src-stable-7@FreeBSD.ORG Tue May 29 23:17:16 2012 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 27944106566B; Tue, 29 May 2012 23:17:16 +0000 (UTC) (envelope-from jimharris@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 110DC8FC15; Tue, 29 May 2012 23:17:16 +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 q4TNHF8S009133; Tue, 29 May 2012 23:17:15 GMT (envelope-from jimharris@svn.freebsd.org) Received: (from jimharris@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q4TNHFmD009127; Tue, 29 May 2012 23:17:15 GMT (envelope-from jimharris@svn.freebsd.org) Message-Id: <201205292317.q4TNHFmD009127@svn.freebsd.org> From: Jim Harris Date: Tue, 29 May 2012 23:17:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r236265 - stable/7/sys/dev/isci X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 May 2012 23:17:16 -0000 Author: jimharris Date: Tue May 29 23:17:15 2012 New Revision: 236265 URL: http://svn.freebsd.org/changeset/base/236265 Log: MFC r234106, r235751: Queue CCBs internally instead of using CAM_REQUEUE_REQ status. This fixes problem where userspace apps such as smartctl fail due to CAM_REQUEUE_REQ status getting returned when tagged commands are outstanding when smartctl sends its I/O using the pass(4) interface. Sponsored by: Intel Modified: stable/7/sys/dev/isci/isci.h stable/7/sys/dev/isci/isci_controller.c stable/7/sys/dev/isci/isci_interrupt.c stable/7/sys/dev/isci/isci_io_request.c stable/7/sys/dev/isci/isci_remote_device.c Directory Properties: stable/7/sys/ (props changed) Modified: stable/7/sys/dev/isci/isci.h ============================================================================== --- stable/7/sys/dev/isci/isci.h Tue May 29 23:15:23 2012 (r236264) +++ stable/7/sys/dev/isci/isci.h Tue May 29 23:17:15 2012 (r236265) @@ -30,6 +30,9 @@ * $FreeBSD$ */ +#ifndef _ISCI_H +#define _ISCI_H + #include #include #include @@ -86,6 +89,31 @@ struct ISCI_REMOTE_DEVICE { BOOL is_resetting; uint32_t frozen_lun_mask; SCI_FAST_LIST_ELEMENT_T pending_device_reset_element; + + /* + * This queue maintains CCBs that have been returned with + * SCI_IO_FAILURE_INVALID_STATE from the SCI layer. These CCBs + * need to be retried, but we cannot return CAM_REQUEUE_REQ because + * this status gets passed all the way back up to users of the pass(4) + * interface and breaks things like smartctl. So instead, we queue + * these CCBs internally. + */ + TAILQ_HEAD(,ccb_hdr) queued_ccbs; + + /* + * Marker denoting this remote device needs its first queued ccb to + * be retried. + */ + BOOL release_queued_ccb; + + /* + * Points to a CCB in the queue that is currently being processed by + * SCIL. This allows us to keep in flight CCBs in the queue so as to + * maintain ordering (i.e. in case we retry an I/O and then find out + * it needs to be retried again - it just keeps its same place in the + * queue. + */ + union ccb * queued_ccb_in_progress; }; struct ISCI_DOMAIN { @@ -125,6 +153,7 @@ struct ISCI_CONTROLLER BOOL has_been_scanned; uint32_t initial_discovery_mask; BOOL is_frozen; + BOOL release_queued_ccbs; uint8_t *remote_device_memory; struct ISCI_MEMORY cached_controller_memory; struct ISCI_MEMORY uncached_controller_memory; @@ -290,6 +319,8 @@ int isci_controller_attach_to_cam(struct void isci_controller_start(void *controller); +void isci_controller_release_queued_ccbs(struct ISCI_CONTROLLER *controller); + void isci_domain_construct(struct ISCI_DOMAIN *domain, uint32_t domain_index, struct ISCI_CONTROLLER *controller); @@ -300,3 +331,5 @@ void isci_log_message(uint32_t verbosity char *log_message, ...); extern uint32_t g_isci_debug_level; + +#endif /* #ifndef _ISCI_H */ Modified: stable/7/sys/dev/isci/isci_controller.c ============================================================================== --- stable/7/sys/dev/isci/isci_controller.c Tue May 29 23:15:23 2012 (r236264) +++ stable/7/sys/dev/isci/isci_controller.c Tue May 29 23:17:15 2012 (r236265) @@ -201,6 +201,7 @@ void isci_controller_construct(struct IS controller->is_started = FALSE; controller->is_frozen = FALSE; + controller->release_queued_ccbs = FALSE; controller->sim = NULL; controller->initial_discovery_mask = 0; @@ -430,6 +431,9 @@ int isci_controller_allocate_memory(stru remote_device->frozen_lun_mask = 0; sci_fast_list_element_init(remote_device, &remote_device->pending_device_reset_element); + TAILQ_INIT(&remote_device->queued_ccbs); + remote_device->release_queued_ccb = FALSE; + remote_device->queued_ccb_in_progress = NULL; /* * For the first SCI_MAX_DOMAINS device objects, do not put @@ -693,3 +697,47 @@ void isci_action(struct cam_sim *sim, un } } +/* + * Unfortunately, SCIL doesn't cleanly handle retry conditions. + * CAM_REQUEUE_REQ works only when no one is using the pass(4) interface. So + * when SCIL denotes an I/O needs to be retried (typically because of mixing + * tagged/non-tagged ATA commands, or running out of NCQ slots), we queue + * these I/O internally. Once SCIL completes an I/O to this device, or we get + * a ready notification, we will retry the first I/O on the queue. + * Unfortunately, SCIL also doesn't cleanly handle starting the new I/O within + * the context of the completion handler, so we need to retry these I/O after + * the completion handler is done executing. + */ +void +isci_controller_release_queued_ccbs(struct ISCI_CONTROLLER *controller) +{ + struct ISCI_REMOTE_DEVICE *dev; + struct ccb_hdr *ccb_h; + int dev_idx; + + KASSERT(mtx_owned(&controller->lock), ("controller lock not owned")); + + controller->release_queued_ccbs = FALSE; + for (dev_idx = 0; + dev_idx < SCI_MAX_REMOTE_DEVICES; + dev_idx++) { + + dev = controller->remote_device[dev_idx]; + if (dev != NULL && + dev->release_queued_ccb == TRUE && + dev->queued_ccb_in_progress == NULL) { + dev->release_queued_ccb = FALSE; + ccb_h = TAILQ_FIRST(&dev->queued_ccbs); + + if (ccb_h == NULL) + continue; + + isci_log_message(1, "ISCI", "release %p %x\n", ccb_h, + ((union ccb *)ccb_h)->csio.cdb_io.cdb_bytes[0]); + + dev->queued_ccb_in_progress = (union ccb *)ccb_h; + isci_io_request_execute_scsi_io( + (union ccb *)ccb_h, controller); + } + } +} Modified: stable/7/sys/dev/isci/isci_interrupt.c ============================================================================== --- stable/7/sys/dev/isci/isci_interrupt.c Tue May 29 23:15:23 2012 (r236264) +++ stable/7/sys/dev/isci/isci_interrupt.c Tue May 29 23:17:15 2012 (r236265) @@ -177,6 +177,9 @@ isci_interrupt_legacy_handler(void *arg) if (interrupt_handler(scic_controller_handle)) { mtx_lock(&controller->lock); completion_handler(scic_controller_handle); + if (controller->release_queued_ccbs == TRUE) + isci_controller_release_queued_ccbs( + controller); mtx_unlock(&controller->lock); } } @@ -204,6 +207,13 @@ isci_interrupt_msix_handler(void *arg) if (interrupt_handler(scic_controller_handle)) { mtx_lock(&controller->lock); completion_handler(scic_controller_handle); + /* + * isci_controller_release_queued_ccb() is a relatively + * expensive routine, so we don't call it until the controller + * level flag is set to TRUE. + */ + if (controller->release_queued_ccbs == TRUE) + isci_controller_release_queued_ccbs(controller); mtx_unlock(&controller->lock); } } Modified: stable/7/sys/dev/isci/isci_io_request.c ============================================================================== --- stable/7/sys/dev/isci/isci_io_request.c Tue May 29 23:15:23 2012 (r236264) +++ stable/7/sys/dev/isci/isci_io_request.c Tue May 29 23:17:15 2012 (r236265) @@ -85,7 +85,9 @@ isci_io_request_complete(SCI_CONTROLLER_ struct ISCI_CONTROLLER *isci_controller; struct ISCI_REMOTE_DEVICE *isci_remote_device; union ccb *ccb; + BOOL complete_ccb; + complete_ccb = TRUE; isci_controller = (struct ISCI_CONTROLLER *) sci_object_get_association(scif_controller); isci_remote_device = (struct ISCI_REMOTE_DEVICE *) sci_object_get_association(remote_device); @@ -163,9 +165,7 @@ isci_io_request_complete(SCI_CONTROLLER_ case SCI_IO_FAILURE_INVALID_STATE: case SCI_IO_FAILURE_INSUFFICIENT_RESOURCES: - ccb->ccb_h.status |= CAM_REQUEUE_REQ; - isci_remote_device_freeze_lun_queue(isci_remote_device, - ccb->ccb_h.target_lun); + complete_ccb = FALSE; break; case SCI_IO_FAILURE_INVALID_REMOTE_DEVICE: @@ -189,7 +189,7 @@ isci_io_request_complete(SCI_CONTROLLER_ scif_remote_device_get_max_queue_depth(remote_device); xpt_action((union ccb *)&ccb_relsim); xpt_free_path(path); - ccb->ccb_h.status |= CAM_REQUEUE_REQ; + complete_ccb = FALSE; } break; @@ -209,17 +209,6 @@ isci_io_request_complete(SCI_CONTROLLER_ break; } - if (ccb->ccb_h.status != CAM_REQ_CMP) { - /* ccb will be completed with some type of non-success - * status. So temporarily freeze the queue until the - * upper layers can act on the status. The CAM_DEV_QFRZN - * flag will then release the queue after the status is - * acted upon. - */ - ccb->ccb_h.status |= CAM_DEV_QFRZN; - xpt_freeze_devq(ccb->ccb_h.path, 1); - } - callout_stop(&isci_request->parent.timer); bus_dmamap_sync(isci_request->parent.dma_tag, isci_request->parent.dma_map, @@ -228,20 +217,82 @@ isci_io_request_complete(SCI_CONTROLLER_ bus_dmamap_unload(isci_request->parent.dma_tag, isci_request->parent.dma_map); - if (isci_remote_device->frozen_lun_mask != 0 && - !(ccb->ccb_h.status & CAM_REQUEUE_REQ)) - isci_remote_device_release_device_queue(isci_remote_device); - - xpt_done(ccb); isci_request->ccb = NULL; - if (isci_controller->is_frozen == TRUE) { - isci_controller->is_frozen = FALSE; - xpt_release_simq(isci_controller->sim, TRUE); - } - sci_pool_put(isci_controller->request_pool, (struct ISCI_REQUEST *)isci_request); + + if (complete_ccb) { + if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { + /* ccb will be completed with some type of non-success + * status. So temporarily freeze the queue until the + * upper layers can act on the status. The + * CAM_DEV_QFRZN flag will then release the queue + * after the status is acted upon. + */ + ccb->ccb_h.status |= CAM_DEV_QFRZN; + xpt_freeze_devq(ccb->ccb_h.path, 1); + } + + if (ccb->ccb_h.status & CAM_SIM_QUEUED) { + + KASSERT(ccb == isci_remote_device->queued_ccb_in_progress, + ("multiple internally queued ccbs in flight")); + + TAILQ_REMOVE(&isci_remote_device->queued_ccbs, + &ccb->ccb_h, sim_links.tqe); + ccb->ccb_h.status &= ~CAM_SIM_QUEUED; + + /* + * This CCB that was in the queue was completed, so + * set the in_progress pointer to NULL denoting that + * we can retry another CCB from the queue. We only + * allow one CCB at a time from the queue to be + * in progress so that we can effectively maintain + * ordering. + */ + isci_remote_device->queued_ccb_in_progress = NULL; + } + + if (isci_remote_device->frozen_lun_mask != 0) { + isci_remote_device_release_device_queue(isci_remote_device); + } + + xpt_done(ccb); + + if (isci_controller->is_frozen == TRUE) { + isci_controller->is_frozen = FALSE; + xpt_release_simq(isci_controller->sim, TRUE); + } + } else { + isci_remote_device_freeze_lun_queue(isci_remote_device, + ccb->ccb_h.target_lun); + + if (ccb->ccb_h.status & CAM_SIM_QUEUED) { + + KASSERT(ccb == isci_remote_device->queued_ccb_in_progress, + ("multiple internally queued ccbs in flight")); + + /* + * Do nothing, CCB is already on the device's queue. + * We leave it on the queue, to be retried again + * next time a CCB on this device completes, or we + * get a ready notification for this device. + */ + isci_log_message(1, "ISCI", "already queued %p %x\n", + ccb, ccb->csio.cdb_io.cdb_bytes[0]); + + isci_remote_device->queued_ccb_in_progress = NULL; + + } else { + isci_log_message(1, "ISCI", "queue %p %x\n", ccb, + ccb->csio.cdb_io.cdb_bytes[0]); + ccb->ccb_h.status |= CAM_SIM_QUEUED; + + TAILQ_INSERT_TAIL(&isci_remote_device->queued_ccbs, + &ccb->ccb_h, sim_links.tqe); + } + } } /** Modified: stable/7/sys/dev/isci/isci_remote_device.c ============================================================================== --- stable/7/sys/dev/isci/isci_remote_device.c Tue May 29 23:15:23 2012 (r236264) +++ stable/7/sys/dev/isci/isci_remote_device.c Tue May 29 23:17:15 2012 (r236265) @@ -289,9 +289,26 @@ isci_remote_device_release_lun_queue(str void isci_remote_device_release_device_queue( - struct ISCI_REMOTE_DEVICE *remote_device) + struct ISCI_REMOTE_DEVICE *device) { - lun_id_t lun; - for (lun = 0; lun < ISCI_MAX_LUN; lun++) - isci_remote_device_release_lun_queue(remote_device, lun); + if (TAILQ_EMPTY(&device->queued_ccbs)) { + lun_id_t lun; + + for (lun = 0; lun < ISCI_MAX_LUN; lun++) + isci_remote_device_release_lun_queue(device, lun); + } else { + /* + * We cannot unfreeze the devq, because there are still + * CCBs in our internal queue that need to be processed + * first. Mark this device, and the controller, so that + * the first CCB in this device's internal queue will be + * resubmitted after the current completion context + * unwinds. + */ + device->release_queued_ccb = TRUE; + device->domain->controller->release_queued_ccbs = TRUE; + + isci_log_message(1, "ISCI", "schedule %p for release\n", + device); + } } From owner-svn-src-stable-7@FreeBSD.ORG Wed May 30 12:01:29 2012 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8F03F1065673; Wed, 30 May 2012 12:01:29 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 76B688FC27; Wed, 30 May 2012 12:01:29 +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 q4UC1TQI047226; Wed, 30 May 2012 12:01:29 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q4UC1TP0047222; Wed, 30 May 2012 12:01:29 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201205301201.q4UC1TP0047222@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Wed, 30 May 2012 12:01:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r236304 - head/crypto/openssl/crypto/buffer head/crypto/openssl/ssl head/secure/lib/libcrypt releng/7.4 releng/7.4/crypto/openssl/crypto/buffer releng/7.4/crypto/openssl/ssl releng/7.4/... X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 May 2012 12:01:29 -0000 Author: bz Date: Wed May 30 12:01:28 2012 New Revision: 236304 URL: http://svn.freebsd.org/changeset/base/236304 Log: Update the previous openssl fix. [12:01] Fix a bug in crypt(3) ignoring characters of a passphrase. [12:02] Security: FreeBSD-SA-12:01.openssl (revised) Security: FreeBSD-SA-12:02.crypt Approved by: so (bz, simon) Modified: stable/7/crypto/openssl/crypto/buffer/buffer.c stable/7/crypto/openssl/ssl/s3_srvr.c stable/7/secure/lib/libcrypt/crypt-des.c Changes in other areas also in this revision: Modified: head/crypto/openssl/crypto/buffer/buffer.c head/crypto/openssl/ssl/s3_srvr.c head/secure/lib/libcrypt/crypt-des.c releng/7.4/UPDATING releng/7.4/crypto/openssl/crypto/buffer/buffer.c releng/7.4/crypto/openssl/ssl/s3_srvr.c releng/7.4/secure/lib/libcrypt/crypt-des.c releng/7.4/sys/conf/newvers.sh releng/8.1/UPDATING releng/8.1/crypto/openssl/crypto/buffer/buffer.c releng/8.1/crypto/openssl/ssl/s3_srvr.c releng/8.1/secure/lib/libcrypt/crypt-des.c releng/8.1/sys/conf/newvers.sh releng/8.2/UPDATING releng/8.2/crypto/openssl/crypto/buffer/buffer.c releng/8.2/crypto/openssl/ssl/s3_srvr.c releng/8.2/secure/lib/libcrypt/crypt-des.c releng/8.2/sys/conf/newvers.sh releng/8.3/UPDATING releng/8.3/crypto/openssl/crypto/buffer/buffer.c releng/8.3/crypto/openssl/ssl/s3_srvr.c releng/8.3/secure/lib/libcrypt/crypt-des.c releng/8.3/sys/conf/newvers.sh releng/9.0/UPDATING releng/9.0/crypto/openssl/crypto/buffer/buffer.c releng/9.0/crypto/openssl/ssl/s3_srvr.c releng/9.0/secure/lib/libcrypt/crypt-des.c releng/9.0/sys/conf/newvers.sh stable/8/crypto/openssl/crypto/buffer/buffer.c stable/8/crypto/openssl/ssl/s3_srvr.c stable/8/secure/lib/libcrypt/crypt-des.c stable/9/crypto/openssl/crypto/buffer/buffer.c stable/9/crypto/openssl/ssl/s3_srvr.c stable/9/secure/lib/libcrypt/crypt-des.c Modified: stable/7/crypto/openssl/crypto/buffer/buffer.c ============================================================================== --- stable/7/crypto/openssl/crypto/buffer/buffer.c Wed May 30 11:48:57 2012 (r236303) +++ stable/7/crypto/openssl/crypto/buffer/buffer.c Wed May 30 12:01:28 2012 (r236304) @@ -166,7 +166,7 @@ int BUF_MEM_grow_clean(BUF_MEM *str, int /* This limit is sufficient to ensure (len+3)/3*4 < 2**31 */ if (len > LIMIT_BEFORE_EXPANSION) { - BUFerr(BUF_F_BUF_MEM_GROW,ERR_R_MALLOC_FAILURE); + BUFerr(BUF_F_BUF_MEM_GROW_CLEAN,ERR_R_MALLOC_FAILURE); return 0; } n=(len+3)/3*4; Modified: stable/7/crypto/openssl/ssl/s3_srvr.c ============================================================================== --- stable/7/crypto/openssl/ssl/s3_srvr.c Wed May 30 11:48:57 2012 (r236303) +++ stable/7/crypto/openssl/ssl/s3_srvr.c Wed May 30 12:01:28 2012 (r236304) @@ -698,14 +698,6 @@ int ssl3_check_client_hello(SSL *s) int ok; long n; - /* We only allow the client to restart the handshake once per - * negotiation. */ - if (s->s3->flags & SSL3_FLAGS_SGC_RESTART_DONE) - { - SSLerr(SSL_F_SSL3_CHECK_CLIENT_HELLO, SSL_R_MULTIPLE_SGC_RESTARTS); - return -1; - } - /* this function is called when we really expect a Certificate message, * so permit appropriate message length */ n=s->method->ssl_get_message(s, @@ -718,6 +710,13 @@ int ssl3_check_client_hello(SSL *s) s->s3->tmp.reuse_message = 1; if (s->s3->tmp.message_type == SSL3_MT_CLIENT_HELLO) { + /* We only allow the client to restart the handshake once per + * negotiation. */ + if (s->s3->flags & SSL3_FLAGS_SGC_RESTART_DONE) + { + SSLerr(SSL_F_SSL3_CHECK_CLIENT_HELLO, SSL_R_MULTIPLE_SGC_RESTARTS); + return -1; + } /* Throw away what we have done so far in the current handshake, * which will now be aborted. (A full SSL_clear would be too much.) */ #ifndef OPENSSL_NO_DH Modified: stable/7/secure/lib/libcrypt/crypt-des.c ============================================================================== --- stable/7/secure/lib/libcrypt/crypt-des.c Wed May 30 11:48:57 2012 (r236303) +++ stable/7/secure/lib/libcrypt/crypt-des.c Wed May 30 12:01:28 2012 (r236304) @@ -606,7 +606,7 @@ crypt_des(const char *key, const char *s q = (u_char *)keybuf; while (q - (u_char *)keybuf - 8) { *q++ = *key << 1; - if (*(q - 1)) + if (*key != '\0') key++; } if (des_setkey((char *)keybuf)) From owner-svn-src-stable-7@FreeBSD.ORG Thu May 31 02:53:28 2012 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EEDA31065742; Thu, 31 May 2012 02:53:28 +0000 (UTC) (envelope-from wblock@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D930C8FC0C; Thu, 31 May 2012 02:53:28 +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 q4V2rSPf006850; Thu, 31 May 2012 02:53:28 GMT (envelope-from wblock@svn.freebsd.org) Received: (from wblock@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q4V2rSLD006848; Thu, 31 May 2012 02:53:28 GMT (envelope-from wblock@svn.freebsd.org) Message-Id: <201205310253.q4V2rSLD006848@svn.freebsd.org> From: Warren Block Date: Thu, 31 May 2012 02:53:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r236351 - stable/7/bin/uuidgen X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2012 02:53:29 -0000 Author: wblock (doc committer) Date: Thu May 31 02:53:28 2012 New Revision: 236351 URL: http://svn.freebsd.org/changeset/base/236351 Log: MFC r235842 Mention the upper hard limit for -n option. Patch slightly modified from PR version. PR: 168255 Submitted by: Andy Kosela Approved by: gjb (mentor) Modified: stable/7/bin/uuidgen/uuidgen.1 Directory Properties: stable/7/bin/uuidgen/ (props changed) Modified: stable/7/bin/uuidgen/uuidgen.1 ============================================================================== --- stable/7/bin/uuidgen/uuidgen.1 Thu May 31 02:52:59 2012 (r236350) +++ stable/7/bin/uuidgen/uuidgen.1 Thu May 31 02:53:28 2012 (r236351) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 7, 2005 +.Dd May 23, 2012 .Dt UUIDGEN 1 .Os .Sh NAME @@ -52,8 +52,11 @@ instructs to not generate them in batch, but one at a time. .It Fl n This option controls the number of identifiers generated. -By default, multiple -identifiers are generated in batch. +By default, multiple identifiers are generated in batch. +The upper hard limit is 2048 +.Po see +.Xr uuidgen 2 +.Pc . .It Fl o Redirect output to .Ar filename From owner-svn-src-stable-7@FreeBSD.ORG Fri Jun 1 06:40:49 2012 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 635BD1065914; Fri, 1 Jun 2012 06:40:49 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4D7A58FC08; Fri, 1 Jun 2012 06:40:49 +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 q516enCK092550; Fri, 1 Jun 2012 06:40:49 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q516entH092548; Fri, 1 Jun 2012 06:40:49 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201206010640.q516entH092548@svn.freebsd.org> From: Eitan Adler Date: Fri, 1 Jun 2012 06:40:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r236384 - stable/7/share/examples/csh X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jun 2012 06:40:49 -0000 Author: eadler Date: Fri Jun 1 06:40:48 2012 New Revision: 236384 URL: http://svn.freebsd.org/changeset/base/236384 Log: MFC r235481: Rework sample code which sets SSH_AUTH_SOCK to the user's ssh-agent socket path if running PR: 167932 Approved by: cperciva (implicit) Modified: stable/7/share/examples/csh/dot.cshrc Directory Properties: stable/7/share/examples/csh/ (props changed) Modified: stable/7/share/examples/csh/dot.cshrc ============================================================================== --- stable/7/share/examples/csh/dot.cshrc Fri Jun 1 06:40:29 2012 (r236383) +++ stable/7/share/examples/csh/dot.cshrc Fri Jun 1 06:40:48 2012 (r236384) @@ -5,7 +5,7 @@ # Sets SSH_AUTH_SOCK to the user's ssh-agent socket path if running if (${?SSH_AUTH_SOCK} != "1") then - setenv SSH_AUTH_SOCK `sockstat | grep "${USER}" | cut -d ' ' -f 6` + setenv SSH_AUTH_SOCK `sockstat | grep "^${USER} " | awk '/ssh-agent/ { print $6 }'` endif # Change only root's prompt From owner-svn-src-stable-7@FreeBSD.ORG Sat Jun 2 02:27:02 2012 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AFF731065686; Sat, 2 Jun 2012 02:27:02 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 80BAE8FC14; Sat, 2 Jun 2012 02:27:02 +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 q522R2Lv059369; Sat, 2 Jun 2012 02:27:02 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q522R2xD059364; Sat, 2 Jun 2012 02:27:02 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201206020227.q522R2xD059364@svn.freebsd.org> From: Glen Barber Date: Sat, 2 Jun 2012 02:27:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r236432 - in stable/7: share/man/man5 share/man/man7 tools/build/options X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2012 02:27:02 -0000 Author: gjb (doc committer) Date: Sat Jun 2 02:27:01 2012 New Revision: 236432 URL: http://svn.freebsd.org/changeset/base/236432 Log: MFC r236274, r236278, r236279: r236274: - Fix an mdoc(7) formatting nit. r236278: - Fix mdoc(7) style nits. r236279: - Add '-width Pa' to src.conf.5 for mdoc(7) style consistency. Modified: stable/7/share/man/man5/devfs.conf.5 stable/7/share/man/man5/devfs.rules.5 stable/7/share/man/man7/release.7 stable/7/tools/build/options/makeman Directory Properties: stable/7/share/man/man5/ (props changed) stable/7/share/man/man7/ (props changed) stable/7/tools/build/options/ (props changed) Modified: stable/7/share/man/man5/devfs.conf.5 ============================================================================== --- stable/7/share/man/man5/devfs.conf.5 Sat Jun 2 02:26:49 2012 (r236431) +++ stable/7/share/man/man5/devfs.conf.5 Sat Jun 2 02:27:01 2012 (r236432) @@ -91,7 +91,7 @@ as explained in .Xr chmod 1 . .El .Sh FILES -.Bl -tag -compact +.Bl -tag -compact -width Pa .It Pa /etc/devfs.conf .It Pa /usr/share/examples/etc/devfs.conf .El Modified: stable/7/share/man/man5/devfs.rules.5 ============================================================================== --- stable/7/share/man/man5/devfs.rules.5 Sat Jun 2 02:26:49 2012 (r236431) +++ stable/7/share/man/man5/devfs.rules.5 Sat Jun 2 02:27:01 2012 (r236432) @@ -82,7 +82,7 @@ file: devfs_system_ruleset="localrules" .Ed .Sh FILES -.Bl -tag -compact +.Bl -tag -compact -width Pa .It Pa /etc/defaults/devfs.rules Default .Nm Modified: stable/7/share/man/man7/release.7 ============================================================================== --- stable/7/share/man/man7/release.7 Sat Jun 2 02:26:49 2012 (r236431) +++ stable/7/share/man/man7/release.7 Sat Jun 2 02:27:01 2012 (r236432) @@ -457,7 +457,7 @@ will instruct to execute up to four processes at a time. .El .Sh FILES -.Bl -tag -compact +.Bl -tag -compact -width Pa .It Pa /usr/doc/Makefile .It Pa /usr/doc/share/mk/doc.project.mk .It Pa /usr/ports/Mk/bsd.port.mk Modified: stable/7/tools/build/options/makeman ============================================================================== --- stable/7/tools/build/options/makeman Sat Jun 2 02:26:49 2012 (r236431) +++ stable/7/tools/build/options/makeman Sat Jun 2 02:27:01 2012 (r236432) @@ -179,7 +179,7 @@ EOF cat < Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 69D37106566C; Sat, 2 Jun 2012 16:17:26 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 540768FC08; Sat, 2 Jun 2012 16:17:26 +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 q52GHQM7099120; Sat, 2 Jun 2012 16:17:26 GMT (envelope-from bapt@svn.freebsd.org) Received: (from bapt@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q52GHQDw099118; Sat, 2 Jun 2012 16:17:26 GMT (envelope-from bapt@svn.freebsd.org) Message-Id: <201206021617.q52GHQDw099118@svn.freebsd.org> From: Baptiste Daroussin Date: Sat, 2 Jun 2012 16:17:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r236455 - stable/7/usr.sbin/pkg_install/lib X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2012 16:17:26 -0000 Author: bapt Date: Sat Jun 2 16:17:25 2012 New Revision: 236455 URL: http://svn.freebsd.org/changeset/base/236455 Log: RFC: 235276 - Print package name in case an empty pkgdep line is found. PR: bin/164378 Submitted by: Yuri and many others Approved by: des (mentor) Modified: stable/7/usr.sbin/pkg_install/lib/plist.c Directory Properties: stable/7/usr.sbin/pkg_install/ (props changed) Modified: stable/7/usr.sbin/pkg_install/lib/plist.c ============================================================================== --- stable/7/usr.sbin/pkg_install/lib/plist.c Sat Jun 2 16:16:45 2012 (r236454) +++ stable/7/usr.sbin/pkg_install/lib/plist.c Sat Jun 2 16:17:25 2012 (r236455) @@ -286,7 +286,8 @@ read_plist(Package *pkg, FILE *fp) if (*cp == '\0') { cp = NULL; if (cmd == PLIST_PKGDEP) { - warnx("corrupted record (pkgdep line without argument), ignoring"); + warnx("corrupted record for package %s (pkgdep line without " + "argument), ignoring", pkg->name); cmd = FAIL; } goto bottom; From owner-svn-src-stable-7@FreeBSD.ORG Sat Jun 2 19:15:23 2012 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 80A76106567C; Sat, 2 Jun 2012 19:15:23 +0000 (UTC) (envelope-from marius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 680A58FC29; Sat, 2 Jun 2012 19:15:23 +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 q52JFNo8008683; Sat, 2 Jun 2012 19:15:23 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q52JFNjU008681; Sat, 2 Jun 2012 19:15:23 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201206021915.q52JFNjU008681@svn.freebsd.org> From: Marius Strobl Date: Sat, 2 Jun 2012 19:15:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r236483 - stable/7/sys/dev/bge X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2012 19:15:23 -0000 Author: marius Date: Sat Jun 2 19:15:22 2012 New Revision: 236483 URL: http://svn.freebsd.org/changeset/base/236483 Log: MFC: r236328 Try to finally get the point in time at which bge_add_sysctls() is called right; it needs to be called before bge_can_use_msi() but in turn requires bge_flags to be properly set. Submitted by: yongari Modified: stable/7/sys/dev/bge/if_bge.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/bge/if_bge.c ============================================================================== --- stable/7/sys/dev/bge/if_bge.c Sat Jun 2 19:15:21 2012 (r236482) +++ stable/7/sys/dev/bge/if_bge.c Sat Jun 2 19:15:22 2012 (r236483) @@ -2372,7 +2372,6 @@ bge_dma_free(struct bge_softc *sc) if (sc->bge_cdata.bge_tx_mtag) bus_dma_tag_destroy(sc->bge_cdata.bge_tx_mtag); - /* Destroy standard RX ring. */ if (sc->bge_cdata.bge_rx_std_ring_map) bus_dmamap_unload(sc->bge_cdata.bge_rx_std_ring_tag, @@ -2898,8 +2897,6 @@ bge_attach(device_t dev) sc = device_get_softc(dev); sc->bge_dev = dev; - bge_add_sysctls(sc); - TASK_INIT(&sc->bge_intr_task, 0, bge_intr_task, sc); /* @@ -3045,6 +3042,9 @@ bge_attach(device_t dev) break; } + /* Add SYSCTLs, requires the chipset family to be set. */ + bge_add_sysctls(sc); + /* Set various PHY bug flags. */ if (sc->bge_chipid == BGE_CHIPID_BCM5701_A0 || sc->bge_chipid == BGE_CHIPID_BCM5701_B0)