diff options
author | simokawa <simokawa@FreeBSD.org> | 2007-06-06 14:31:36 +0000 |
---|---|---|
committer | simokawa <simokawa@FreeBSD.org> | 2007-06-06 14:31:36 +0000 |
commit | 6052bc5731ca66f7ae519ab26941c42ceef6daaf (patch) | |
tree | bda94d3de727b214eea64936b54deb3b46a61f52 /sys/dev/firewire/if_fwevar.h | |
parent | 27c6e3f25e2c0ab488171e7704cea4e8b215f483 (diff) | |
download | FreeBSD-src-6052bc5731ca66f7ae519ab26941c42ceef6daaf.zip FreeBSD-src-6052bc5731ca66f7ae519ab26941c42ceef6daaf.tar.gz |
MFp4: MPSAFE firewire stack.
- lock its own locks and drop Giant.
- create its own taskqueue thread.
- split interrupt routine
- use interrupt filter as a fast interrupt.
- run watchdog timer in taskqueue so that it should be
serialized with the bottom half.
- add extra sanity check for transaction labels.
disable ad-hoc workaround for unknown tlabels.
- add sleep/wakeup synchronization primitives
- don't reset OHCI in fwohci_stop()
Diffstat (limited to 'sys/dev/firewire/if_fwevar.h')
-rw-r--r-- | sys/dev/firewire/if_fwevar.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/firewire/if_fwevar.h b/sys/dev/firewire/if_fwevar.h index 73fcb3d..4b8eb76 100644 --- a/sys/dev/firewire/if_fwevar.h +++ b/sys/dev/firewire/if_fwevar.h @@ -38,7 +38,7 @@ #define _NET_IF_FWEVAR_H_ struct fwe_softc { - /* XXX this must be first for fd.post_explore() */ + /* XXX this must be the first for fd.post_explore() */ struct firewire_dev_comm fd; short stream_ch; short dma_ch; @@ -48,5 +48,8 @@ struct fwe_softc { struct ifnet *ifp; struct fwe_softc *fwe; } eth_softc; + struct mtx mtx; }; +#define FWE_LOCK(fwe) mtx_lock(&(fwe)->mtx) +#define FWE_UNLOCK(fwe) mtx_unlock(&(fwe)->mtx) #endif /* !_NET_IF_FWEVAR_H_ */ |