From 68a8d9fcfe19d81b780137cb81387ba578a11ace Mon Sep 17 00:00:00 2001 From: Bryan O'Sullivan Date: Fri, 25 Aug 2006 11:24:46 -0700 Subject: [PATCH] --- yaml --- r: 34311 b: refs/heads/master c: e35d710d0c5b74bc9833d6a3791706bd577a3724 h: refs/heads/master i: 34309: e45b3e415251db3210943e86c5e3509469026f2e 34307: 0d5a23bf17b421cfde233af3728328125938c779 34303: 07eaf9d629c4a14e96fad32bca893228e0c2ddd2 v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/hw/ipath/ipath_file_ops.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 4e1aa2efa775..1046f9df280b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d821f02a6ebed97e35e0bc7575452cfc6f9073cb +refs/heads/master: e35d710d0c5b74bc9833d6a3791706bd577a3724 diff --git a/trunk/drivers/infiniband/hw/ipath/ipath_file_ops.c b/trunk/drivers/infiniband/hw/ipath/ipath_file_ops.c index 6ba9a2d1e6ec..29930e22318e 100644 --- a/trunk/drivers/infiniband/hw/ipath/ipath_file_ops.c +++ b/trunk/drivers/infiniband/hw/ipath/ipath_file_ops.c @@ -1150,6 +1150,7 @@ static unsigned int ipath_poll(struct file *fp, struct ipath_portdata *pd; u32 head, tail; int bit; + unsigned pollflag = 0; struct ipath_devdata *dd; pd = port_fp(fp); @@ -1186,9 +1187,12 @@ static unsigned int ipath_poll(struct file *fp, clear_bit(IPATH_PORT_WAITING_RCV, &pd->port_flag); pd->port_rcvwait_to++; } + else + pollflag = POLLIN | POLLRDNORM; } else { /* it's already happened; don't do wait_event overhead */ + pollflag = POLLIN | POLLRDNORM; pd->port_rcvnowait++; } @@ -1196,7 +1200,7 @@ static unsigned int ipath_poll(struct file *fp, ipath_write_kreg(dd, dd->ipath_kregs->kr_rcvctrl, dd->ipath_rcvctrl); - return 0; + return pollflag; } static int try_alloc_port(struct ipath_devdata *dd, int port,