Commit 2f01a700 authored by Arthur Jones's avatar Arthur Jones Committed by Roland Dreier

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: default avatarArthur Jones <arthur.jones@qlogic.com>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 62769801
...@@ -954,7 +954,15 @@ static void handle_urcv(struct ipath_devdata *dd, u32 istat) ...@@ -954,7 +954,15 @@ static void handle_urcv(struct ipath_devdata *dd, u32 istat)
int i; int i;
int rcvdint = 0; 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(); rmb();
portr = ((istat >> INFINIPATH_I_RCVAVAIL_SHIFT) & portr = ((istat >> INFINIPATH_I_RCVAVAIL_SHIFT) &
dd->ipath_i_rcvavail_mask) dd->ipath_i_rcvavail_mask)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment