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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to