Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Jun 2009 01:00:28 +0000 (UTC)
From:      Kip Macy <kmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r193478 - user/kmacy/releng_7_2_fcs/sys/dev/cxgb
Message-ID:  <200906050100.n5510S8T009912@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kmacy
Date: Fri Jun  5 01:00:28 2009
New Revision: 193478
URL: http://svn.freebsd.org/changeset/base/193478

Log:
  - remove dead intr_bind call
  - be a bit more careful about ensuring that callouts get drained in a timely fashion when
    unloading

Modified:
  user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_main.c
  user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c

Modified: user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_main.c
==============================================================================
--- user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_main.c	Fri Jun  5 00:30:28 2009	(r193477)
+++ user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_main.c	Fri Jun  5 01:00:28 2009	(r193478)
@@ -839,16 +839,6 @@ cxgb_setup_msix(adapter_t *sc, int msix_
 				return (EINVAL);
 				
 			}
-#if 0			
-#ifdef IFNET_MULTIQUEUE			
-			if (multiq) {
-				int vector = rman_get_start(sc->msix_irq_res[k]);
-				if (bootverbose)
-					device_printf(sc->dev, "binding vector=%d to cpu=%d\n", vector, k % mp_ncpus);
-				intr_bind(vector, k % mp_ncpus);
-			}
-#endif
-#endif
 		}
 	}
 
@@ -1727,6 +1717,9 @@ cxgb_release(struct adapter *sc)
 	if (sc->flags & USING_MSIX) 
 		cxgb_teardown_msix(sc);
 
+	callout_drain(&sc->cxgb_tick_ch);
+	callout_drain(&sc->sge_timer_ch);
+
 	if (sc->tq != NULL) {
 		printf("draining slow intr\n");
 		taskqueue_drain(sc->tq, &sc->slow_intr_task);
@@ -2384,7 +2377,7 @@ cxgb_tick(void *arg)
 {
 	adapter_t *sc = (adapter_t *)arg;
 
-	if(sc->flags & CXGB_SHUTDOWN)
+	if ((sc->flags & CXGB_SHUTDOWN) || (sc->open_device_map == 0)
 		return;
 
 	taskqueue_enqueue(sc->tq, &sc->tick_task);	

Modified: user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c
==============================================================================
--- user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c	Fri Jun  5 00:30:28 2009	(r193477)
+++ user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c	Fri Jun  5 01:00:28 2009	(r193478)
@@ -831,6 +831,9 @@ sge_timer_cb(void *arg)
 	int i, j;
 	int reclaim_ofl, refill_rx;
 
+	if (sc->open_device_map == 0) 
+		return;
+
 	for (i = 0; i < sc->params.nports; i++) {
 		pi = &sc->port[i];
 		for (j = 0; j < pi->nqsets; j++) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906050100.n5510S8T009912>