diff options
author | roger <roger@FreeBSD.org> | 1999-06-29 16:45:51 +0000 |
---|---|---|
committer | roger <roger@FreeBSD.org> | 1999-06-29 16:45:51 +0000 |
commit | ec30ce339b93d3c5bac7020cc6666437fb32b06a (patch) | |
tree | 3a0b2a2688fdc6b999c6602b25b22c2dc894ccec | |
parent | a9d802a64d3407325930af13170cf26938f90c33 (diff) | |
download | FreeBSD-src-ec30ce339b93d3c5bac7020cc6666437fb32b06a.zip FreeBSD-src-ec30ce339b93d3c5bac7020cc6666437fb32b06a.tar.gz |
Stop signals being generated after meteor_close.
Update METEORSSIGNAL to disable signals by setting the signal to 0.
PR: i386/10533
Submitted by: Frode Vatvedt Fjeld <frodef@dslab7.cs.uit.no>
-rw-r--r-- | sys/pci/meteor.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/pci/meteor.c b/sys/pci/meteor.c index 1f7c5f1..804e2e7 100644 --- a/sys/pci/meteor.c +++ b/sys/pci/meteor.c @@ -1242,6 +1242,7 @@ meteor_close(dev_t dev, int flags, int fmt, struct proc *p) */ mtr->base->cap_cntl = 0x8ff0; mtr->flags &= ~(METEOR_CAP_MASK|METEOR_WANT_MASK); + mtr->proc = (struct proc *)0; #ifdef METEOR_DEALLOC_PAGES if (mtr->bigbuf != NULL) { @@ -1402,7 +1403,11 @@ meteor_ioctl(dev_t dev, u_long cmd, caddr_t arg, int flag, struct proc *pr) break; case METEORSSIGNAL: mtr->signal = *(int *) arg; - mtr->proc = pr; + if (mtr->signal) { + mtr->proc = pr; + } else { + mtr->proc = (struct proc *)0; + } break; case METEORGSIGNAL: *(int *)arg = mtr->signal; |