[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHTgTXVn1479XCoh1-j=Xghtad3zA-hf0za5r_AyoaKuKeFZ2g@mail.gmail.com>
Date: Sat, 18 Oct 2014 14:14:51 -0700
From: Vinson Lee <vlee@...pensource.com>
To: "David S. Miller" <davem@...emloft.net>,
Amir Vadai <amirv@...lanox.com>,
Or Gerlitz <ogerlitz@...lanox.com>,
Jack Morgenstein <jackm@....mellanox.co.il>,
Eugenia Emantayev <eugenia@...lanox.com>,
Matan Barak <matanb@...lanox.com>
Cc: netdev@...r.kernel.org
Subject: [stable request <= 3.11] net/mlx4_en: Fix BlueFlame race
Hi.
Please consider backporting upstream commit
2d4b646613d6b12175b017aca18113945af1faf3 "net/mlx4_en: Fix BlueFlame
race" to stable kernels <= 3.11.
commit 2d4b646613d6b12175b017aca18113945af1faf3
Author: Eugenia Emantayev <eugenia@...lanox.com>
Date: Thu Jul 25 19:21:23 2013 +0300
net/mlx4_en: Fix BlueFlame race
Fix a race between BlueFlame flow and stamping in post send flow.
Example:
SW: Build WQE 0 on the TX buffer, except the ownership bit
SW: Set ownership for WQE 0 on the TX buffer
SW: Ring doorbell for WQE 0
SW: Build WQE 1 on the TX buffer, except the ownership bit
SW: Set ownership for WQE 1 on the TX buffer
HW: Read WQE 0 and then WQE 1, before doorbell was rung/BF was
done for WQE 1
HW: Produce CQEs for WQE 0 and WQE 1
SW: Process the CQEs, and stamp WQE 0 and WQE 1 accordingly
(on the TX buffer)
SW: Copy WQE 1 from the TX buffer to the BF register - ALREADY STAMPED!
HW: CQE error with index 0xFFFF - the BF WQE's control
segment is STAMPED,
so the BF index is 0xFFFF. Error: Invalid Opcode.
As a result QP enters the error state and no traffic can be sent.
Solution:
When stamping - do not stamp last completed wqe.
Signed-off-by: Eugenia Emantayev <eugenia@...lanox.com>
Signed-off-by: Amir Vadai <amirv@...lanox.com>
Signed-off-by: David S. Miller <davem@...emloft.net>
This patch fixes Mellanox network card packet send failures on Linux
kernel 3.10.
Tested-by: Chris Suttles <csuttles@...tter.com>
Tested-by: David Mackey <tdmackey@...tter.com>
Tested-by: Matthew Mullins <mmullins@...pensource.com>
Tested-by: Vinson Lee <vlee@...tter.com>
Cheers,
Vinson
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists