svn commit: r231604 - stable/9/sys/dev/cxgb

Navdeep Parhar np at FreeBSD.org
Mon Feb 13 19:35:39 UTC 2012


Author: np
Date: Mon Feb 13 19:35:38 2012
New Revision: 231604
URL: http://svn.freebsd.org/changeset/base/231604

Log:
  MFC r231175:
  Allocate the BAR for userspace doorbells after the is_offload check
  is functional.

Modified:
  stable/9/sys/dev/cxgb/cxgb_main.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/dev/cxgb/cxgb_main.c
==============================================================================
--- stable/9/sys/dev/cxgb/cxgb_main.c	Mon Feb 13 19:35:35 2012	(r231603)
+++ stable/9/sys/dev/cxgb/cxgb_main.c	Mon Feb 13 19:35:38 2012	(r231604)
@@ -473,15 +473,6 @@ cxgb_controller_attach(device_t dev)
 		device_printf(dev, "Cannot allocate BAR region 0\n");
 		return (ENXIO);
 	}
-	sc->udbs_rid = PCIR_BAR(2);
-	sc->udbs_res = NULL;
-	if (is_offload(sc) &&
-	    ((sc->udbs_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
-		   &sc->udbs_rid, RF_ACTIVE)) == NULL)) {
-		device_printf(dev, "Cannot allocate BAR region 1\n");
-		error = ENXIO;
-		goto out;
-	}
 
 	snprintf(sc->lockbuf, ADAPTER_LOCK_NAME_LEN, "cxgb controller lock %d",
 	    device_get_unit(dev));
@@ -510,6 +501,17 @@ cxgb_controller_attach(device_t dev)
 		error = ENODEV;
 		goto out;
 	}
+
+	sc->udbs_rid = PCIR_BAR(2);
+	sc->udbs_res = NULL;
+	if (is_offload(sc) &&
+	    ((sc->udbs_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
+		   &sc->udbs_rid, RF_ACTIVE)) == NULL)) {
+		device_printf(dev, "Cannot allocate BAR region 1\n");
+		error = ENXIO;
+		goto out;
+	}
+
         /* Allocate the BAR for doing MSI-X.  If it succeeds, try to allocate
 	 * enough messages for the queue sets.  If that fails, try falling
 	 * back to MSI.  If that fails, then try falling back to the legacy


More information about the svn-src-stable-9 mailing list