summaryrefslogtreecommitdiff
path: root/usr
diff options
context:
space:
mode:
authorericheng <none@none>2006-10-02 13:58:04 -0700
committerericheng <none@none>2006-10-02 13:58:04 -0700
commit4a2712ca86022e3b5525dfaa83442962b02b9092 (patch)
treed48a1ccfe65bd2c06daf8af483537e4882e0222e /usr
parent6226e9d943e528bd376cff2f7bacf68a57fecb72 (diff)
downloadillumos-joyent-4a2712ca86022e3b5525dfaa83442962b02b9092.tar.gz
6405012 dld_wsrv() can hog a cpu when driver runs out of tx resources
Diffstat (limited to 'usr')
-rw-r--r--usr/src/uts/common/io/dld/dld_str.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/usr/src/uts/common/io/dld/dld_str.c b/usr/src/uts/common/io/dld/dld_str.c
index d8335c4fe5..cb4cdbf485 100644
--- a/usr/src/uts/common/io/dld/dld_str.c
+++ b/usr/src/uts/common/io/dld/dld_str.c
@@ -1831,7 +1831,8 @@ dld_tx_enqueue(dld_str_t *dsp, mblk_t *mp, boolean_t head_insert)
mutex_exit(&dsp->ds_tx_list_lock);
done:
/* Schedule service thread to drain the transmit queue */
- qenable(q);
+ if (!head_insert)
+ qenable(q);
}
void