summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/io/1394
diff options
context:
space:
mode:
authorBryan Cantrill <bryan@joyent.com>2015-02-14 16:55:35 -0800
committerRobert Mustacchi <rm@joyent.com>2015-10-16 11:59:14 -0700
commita5eb7107f06a6e23e8e77e8d3a84c1ff90a73ac6 (patch)
tree70fac1fa3fb719f5145ff6db721af2c343faa4f2 /usr/src/uts/common/io/1394
parent7509ca605713ac7f244b0e812b1712dd25f04da1 (diff)
downloadillumos-gate-a5eb7107f06a6e23e8e77e8d3a84c1ff90a73ac6.tar.gz
5640 want epoll support
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Reviewed by: Robert Mustacchi <rm@joyent.com> Approved by: Garrett D'Amore <garrett@damore.org>
Diffstat (limited to 'usr/src/uts/common/io/1394')
-rw-r--r--usr/src/uts/common/io/1394/targets/av1394/av1394_async.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/usr/src/uts/common/io/1394/targets/av1394/av1394_async.c b/usr/src/uts/common/io/1394/targets/av1394/av1394_async.c
index 94323582d6..4a2556177e 100644
--- a/usr/src/uts/common/io/1394/targets/av1394/av1394_async.c
+++ b/usr/src/uts/common/io/1394/targets/av1394/av1394_async.c
@@ -24,7 +24,9 @@
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
+/*
+ * Copyright (c) 2014, Joyent, Inc. All rights reserved.
+ */
/*
* av1394 asynchronous module
@@ -359,9 +361,10 @@ av1394_async_poll(av1394_inst_t *avp, short events, int anyyet, short *reventsp,
AV1394_TNF_ENTER(av1394_async_poll);
if (events & POLLIN) {
- if (av1394_peekq(rq)) {
+ if (av1394_peekq(rq))
*reventsp |= POLLIN;
- } else if (!anyyet) {
+
+ if ((!*reventsp && !anyyet) || (events & POLLET)) {
mutex_enter(&ap->a_mutex);
ap->a_pollevents |= POLLIN;
*phpp = &ap->a_pollhead;
@@ -438,8 +441,8 @@ av1394_async_create_minor_node(av1394_inst_t *avp)
int ret;
ret = ddi_create_minor_node(avp->av_dip, "async",
- S_IFCHR, AV1394_ASYNC_INST2MINOR(avp->av_instance),
- DDI_NT_AV_ASYNC, NULL);
+ S_IFCHR, AV1394_ASYNC_INST2MINOR(avp->av_instance),
+ DDI_NT_AV_ASYNC, NULL);
if (ret != DDI_SUCCESS) {
TNF_PROBE_0(av1394_async_create_minor_node_error,
AV1394_TNF_ASYNC_ERROR, "");