svn commit: r193398 - user/kmacy/releng_7_2_fcs/sys/dev/cxgb
Kip Macy
kmacy at FreeBSD.org
Wed Jun 3 21:02:15 UTC 2009
Author: kmacy
Date: Wed Jun 3 21:02:14 2009
New Revision: 193398
URL: http://svn.freebsd.org/changeset/base/193398
Log:
serialize initialization with added flag
Modified:
user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_adapter.h
user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_main.c
Modified: user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_adapter.h
==============================================================================
--- user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_adapter.h Wed Jun 3 20:49:25 2009 (r193397)
+++ user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_adapter.h Wed Jun 3 21:02:14 2009 (r193398)
@@ -127,6 +127,7 @@ enum { /* adapter flags */
CXGB_SHUTDOWN = (1 << 6),
CXGB_OFLD_INIT = (1 << 7),
TP_PARITY_INIT = (1 << 8),
+ INIT_IN_PROGRESS = (1 << 9),
};
#define FL_Q_SIZE 4096
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 Wed Jun 3 20:49:25 2009 (r193397)
+++ user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_main.c Wed Jun 3 21:02:14 2009 (r193398)
@@ -1844,6 +1844,14 @@ cxgb_first_init(struct adapter *sc)
{
int err = 0;
+ ADAPTER_LOCK(sc);
+ if (sc->flags & INIT_IN_PROGRESS) {
+ ADAPTER_UNLOCK(sc);
+ return (EINPROGRESS);
+ }
+ sc->flags |= INIT_IN_PROGRESS;
+ ADAPTER_UNLOCK(sc);
+
if ((sc->flags & FW_UPTODATE) == 0)
if ((err = upgrade_fw(sc)))
goto out;
@@ -1861,9 +1869,10 @@ cxgb_first_init(struct adapter *sc)
if (err)
goto out;
- ADAPTER_LOCK(sc);
setup_rss(sc);
t3_add_configured_sysctls(sc);
+ ADAPTER_LOCK(sc);
+ sc->flags &= ~INIT_IN_PROGRESS;
sc->flags |= FULL_INIT_DONE;
ADAPTER_UNLOCK(sc);
out:
More information about the svn-src-user
mailing list