summaryrefslogtreecommitdiffstats
path: root/sys/dev/firewire/fwmem.c
diff options
context:
space:
mode:
authorsimokawa <simokawa@FreeBSD.org>2003-06-03 22:52:55 +0000
committersimokawa <simokawa@FreeBSD.org>2003-06-03 22:52:55 +0000
commit8c022bf81b34414608d7d1932582f42f39df07c1 (patch)
tree70d67683c5f88cc35e1b964959409652ef904084 /sys/dev/firewire/fwmem.c
parent4b1578a3c5a02bcec9fbf0245cd738eefb756311 (diff)
downloadFreeBSD-src-8c022bf81b34414608d7d1932582f42f39df07c1.zip
FreeBSD-src-8c022bf81b34414608d7d1932582f42f39df07c1.tar.gz
Open fwmem device exclusively.
Diffstat (limited to 'sys/dev/firewire/fwmem.c')
-rw-r--r--sys/dev/firewire/fwmem.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/firewire/fwmem.c b/sys/dev/firewire/fwmem.c
index 5471687..7a0fda7 100644
--- a/sys/dev/firewire/fwmem.c
+++ b/sys/dev/firewire/fwmem.c
@@ -241,6 +241,9 @@ fwmem_open (dev_t dev, int flags, int fmt, fw_proc *td)
{
struct fw_eui64 *eui;
+ if (dev->si_drv1 != NULL)
+ return (EBUSY);
+
eui = (struct fw_eui64 *)malloc(sizeof(struct fw_eui64),
M_FW, M_WAITOK);
if (eui == NULL)
@@ -255,6 +258,8 @@ int
fwmem_close (dev_t dev, int flags, int fmt, fw_proc *td)
{
free(dev->si_drv1, M_FW);
+ dev->si_drv1 = NULL;
+
return (0);
}
OpenPOWER on IntegriCloud