summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorneel <neel@FreeBSD.org>2013-02-07 06:48:47 +0000
committerneel <neel@FreeBSD.org>2013-02-07 06:48:47 +0000
commit3cb1652f75d73d68f0c8151f78a0a42d74987535 (patch)
tree5c4e0718e269366d362f0d1d3ef0a5f47abc7c03
parentc05e12cd73e3f0e6f8d35b37fb4396e5852bb17b (diff)
downloadFreeBSD-src-3cb1652f75d73d68f0c8151f78a0a42d74987535.zip
FreeBSD-src-3cb1652f75d73d68f0c8151f78a0a42d74987535.tar.gz
If an interrupt event's assign_cpu method fails, then restore the original
cpuset mask for the associated interrupt thread. The text used above is verbatim from r195249 and the code should now be in line with the intent of that commit.
-rw-r--r--sys/kern/kern_intr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/kern_intr.c b/sys/kern/kern_intr.c
index bce2397..d2c31fd 100644
--- a/sys/kern/kern_intr.c
+++ b/sys/kern/kern_intr.c
@@ -336,7 +336,7 @@ intr_event_bind(struct intr_event *ie, u_char cpu)
if (ie->ie_cpu == NOCPU)
CPU_COPY(cpuset_root, &mask);
else
- CPU_SET(cpu, &mask);
+ CPU_SET(ie->ie_cpu, &mask);
id = ie->ie_thread->it_thread->td_tid;
mtx_unlock(&ie->ie_lock);
(void)cpuset_setthread(id, &mask);
OpenPOWER on IntegriCloud