svn commit: r231175 - head/sys/dev/cxgb

Navdeep Parhar np at FreeBSD.org
Wed Feb 8 03:02:13 UTC 2012


Author: np
Date: Wed Feb  8 03:02:12 2012
New Revision: 231175
URL: http://svn.freebsd.org/changeset/base/231175

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

Modified:
  head/sys/dev/cxgb/cxgb_main.c

Modified: head/sys/dev/cxgb/cxgb_main.c
==============================================================================
--- head/sys/dev/cxgb/cxgb_main.c	Wed Feb  8 02:15:59 2012	(r231174)
+++ head/sys/dev/cxgb/cxgb_main.c	Wed Feb  8 03:02:12 2012	(r231175)
@@ -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-head mailing list