diff options
author | Arthur Jones <arthur.jones@qlogic.com> | 2007-10-17 21:18:29 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-01-25 17:15:28 -0500 |
commit | 2f01a7001131bbf3ce1e39252bf72aea2da034df (patch) | |
tree | 926b215a1da4cd9c6956306b187507ea0c5ae185 /drivers | |
parent | 6276980138292056aab162f7eb98afe5243b2976 (diff) |
IB/ipath: Better comment for rmb() in ipath_intr()
An internal code review found the comment here lacking -- update it with
more specifics of how and why the rmb() is there.
Signed-off-by: Arthur Jones <arthur.jones@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_intr.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_intr.c b/drivers/infiniband/hw/ipath/ipath_intr.c index eac2e9c5528..4795cb895f8 100644 --- a/drivers/infiniband/hw/ipath/ipath_intr.c +++ b/drivers/infiniband/hw/ipath/ipath_intr.c | |||
@@ -954,7 +954,15 @@ static void handle_urcv(struct ipath_devdata *dd, u32 istat) | |||
954 | int i; | 954 | int i; |
955 | int rcvdint = 0; | 955 | int rcvdint = 0; |
956 | 956 | ||
957 | /* test_bit below needs this... */ | 957 | /* |
958 | * test_and_clear_bit(IPATH_PORT_WAITING_RCV) and | ||
959 | * test_and_clear_bit(IPATH_PORT_WAITING_URG) below | ||
960 | * would both like timely updates of the bits so that | ||
961 | * we don't pass them by unnecessarily. the rmb() | ||
962 | * here ensures that we see them promptly -- the | ||
963 | * corresponding wmb()'s are in ipath_poll_urgent() | ||
964 | * and ipath_poll_next()... | ||
965 | */ | ||
958 | rmb(); | 966 | rmb(); |
959 | portr = ((istat >> INFINIPATH_I_RCVAVAIL_SHIFT) & | 967 | portr = ((istat >> INFINIPATH_I_RCVAVAIL_SHIFT) & |
960 | dd->ipath_i_rcvavail_mask) | 968 | dd->ipath_i_rcvavail_mask) |