]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bnx2x: Track active PFs with bitmap
authorAriel Elior <ariele@broadcom.com>
Thu, 26 Jan 2012 06:01:51 +0000 (06:01 +0000)
committerJoe Jin <joe.jin@oracle.com>
Wed, 16 May 2012 14:41:21 +0000 (22:41 +0800)
commitebfdbcd136c06d5a45364237da045317cca8e940
tree5df9e8a78db4c9845a5af7477afc1d0aa377668d
parentdc11b17cb5f7529b6da6c99a0b8fcc58ce68271a
bnx2x: Track active PFs with bitmap

The recovery register (to which a hardware lock has been added in previous
patch) is used amongst other things to track the active PFs. The old
implementation which used a per path counter is not viable in a virtualized
environment where a pf may increment the counter and then have the kernel
crash around it preventing the counter from ever reaching zero.
In the new implementation the scenario described will result in the PF timing
out against the mcp, which will clear the PF's bit in the bitmask allowing
recovery process to proceed.

(cherry picked from commit 889b9af34f986138eebebfe781567cb950b3a22b)
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/net/bnx2x/bnx2x_cmn.c
drivers/net/bnx2x/bnx2x_cmn.h
drivers/net/bnx2x/bnx2x_main.c