diff options
author | Dave Airlie <airlied@redhat.com> | 2017-07-27 08:15:43 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2017-07-27 08:15:43 +1000 |
commit | 0eb2c0ae578ba00f97c7541e01abbce022d14909 (patch) | |
tree | 172db28b9232906ddac61b4bf20c4b0c60c85139 /net/rds/send.c | |
parent | 542aefb5a2da8f67b8fb74a24f60ecb3ec479a06 (diff) | |
parent | 520eccdfe187591a51ea9ab4c1a024ae4d0f68d9 (diff) |
Backmerge tag 'v4.13-rc2' into drm-next
Linux 4.13-rc2
This is required for drm-misc fixing.
Diffstat (limited to 'net/rds/send.c')
-rw-r--r-- | net/rds/send.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/rds/send.c b/net/rds/send.c index e81aa176f4e2..41b9f0f5bb9c 100644 --- a/net/rds/send.c +++ b/net/rds/send.c @@ -170,8 +170,8 @@ restart: * The acquire_in_xmit() check above ensures that only one * caller can increment c_send_gen at any time. */ - cp->cp_send_gen++; - send_gen = cp->cp_send_gen; + send_gen = READ_ONCE(cp->cp_send_gen) + 1; + WRITE_ONCE(cp->cp_send_gen, send_gen); /* * rds_conn_shutdown() sets the conn state and then tests RDS_IN_XMIT, @@ -431,7 +431,7 @@ over_batch: smp_mb(); if ((test_bit(0, &conn->c_map_queued) || !list_empty(&cp->cp_send_queue)) && - send_gen == cp->cp_send_gen) { + send_gen == READ_ONCE(cp->cp_send_gen)) { rds_stats_inc(s_send_lock_queue_raced); if (batch_count < send_batch_count) goto restart; |