From ab6617dd8e2b458cc49687dfcc8dd1aedfce47de Mon Sep 17 00:00:00 2001 From: Arthur Jones Date: Wed, 17 Oct 2007 18:18:29 -0700 Subject: [PATCH] --- yaml --- r: 76803 b: refs/heads/master c: 2f01a7001131bbf3ce1e39252bf72aea2da034df h: refs/heads/master i: 76801: 1b96cd81eebe9784f6fa2ae72c223da8192968c4 76799: 74643701975c28782dbc55afaec4f67f16c6e27d v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/hw/ipath/ipath_intr.c | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index e0a7c216e75f..9ef8941ea90c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6276980138292056aab162f7eb98afe5243b2976 +refs/heads/master: 2f01a7001131bbf3ce1e39252bf72aea2da034df diff --git a/trunk/drivers/infiniband/hw/ipath/ipath_intr.c b/trunk/drivers/infiniband/hw/ipath/ipath_intr.c index eac2e9c55281..4795cb895f85 100644 --- a/trunk/drivers/infiniband/hw/ipath/ipath_intr.c +++ b/trunk/drivers/infiniband/hw/ipath/ipath_intr.c @@ -954,7 +954,15 @@ static void handle_urcv(struct ipath_devdata *dd, u32 istat) int i; int rcvdint = 0; - /* test_bit below needs this... */ + /* + * test_and_clear_bit(IPATH_PORT_WAITING_RCV) and + * test_and_clear_bit(IPATH_PORT_WAITING_URG) below + * would both like timely updates of the bits so that + * we don't pass them by unnecessarily. the rmb() + * here ensures that we see them promptly -- the + * corresponding wmb()'s are in ipath_poll_urgent() + * and ipath_poll_next()... + */ rmb(); portr = ((istat >> INFINIPATH_I_RCVAVAIL_SHIFT) & dd->ipath_i_rcvavail_mask)