diff options
author | jeff <jeff@FreeBSD.org> | 2011-04-26 07:30:52 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2011-04-26 07:30:52 +0000 |
commit | 14f1aafe263cef021807fa3a80daaf36c99f71ca (patch) | |
tree | 2267a46d180b7475ad2d2f0ebec4fe8fa136c1c3 /sys/ofed | |
parent | b539365333e14c681a58929107c3212cbbb5bc69 (diff) | |
download | FreeBSD-src-14f1aafe263cef021807fa3a80daaf36c99f71ca.zip FreeBSD-src-14f1aafe263cef021807fa3a80daaf36c99f71ca.tar.gz |
- Catch up to falloc() changes.
- PHOLD() before using a task structure on the stack.
- Fix a LOR between the sleepq lock and thread lock in _intr_drain().
Diffstat (limited to 'sys/ofed')
-rw-r--r-- | sys/ofed/include/linux/file.h | 2 | ||||
-rw-r--r-- | sys/ofed/include/linux/workqueue.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/sys/ofed/include/linux/file.h b/sys/ofed/include/linux/file.h index 12858d7..cbeec39 100644 --- a/sys/ofed/include/linux/file.h +++ b/sys/ofed/include/linux/file.h @@ -92,7 +92,7 @@ get_unused_fd(void) int error; int fd; - error = falloc(curthread, &file, &fd); + error = falloc(curthread, &file, &fd, 0); if (error) return -error; return fd; diff --git a/sys/ofed/include/linux/workqueue.h b/sys/ofed/include/linux/workqueue.h index 6b48f9c..c59b4ae 100644 --- a/sys/ofed/include/linux/workqueue.h +++ b/sys/ofed/include/linux/workqueue.h @@ -160,9 +160,11 @@ flush_taskqueue(struct taskqueue *tq) { struct task flushtask; + PHOLD(curproc); TASK_INIT(&flushtask, 0, _flush_fn, NULL); taskqueue_enqueue(tq, &flushtask); taskqueue_drain(tq, &flushtask); + PRELE(curproc); } static inline int |