bnx2: Flush the register writes which setup the MSI-X table
commite2eb8e38592f28d8be4a518f44d3385272dedddb
authorBenjamin Li <benli@broadcom.com>
Fri, 8 Jan 2010 08:51:21 +0000 (8 00:51 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Jan 2010 08:51:21 +0000 (8 00:51 -0800)
treecdcf465e988219f50d5aff779e0b2d61c462cf5b
parent368c0ca2f0a69b0818fbc1796d8e21ff02a61b4c
bnx2: Flush the register writes which setup the MSI-X table

The MSI-X table size needs to be properly set before pci_enable_msix()
is called.  But on certain machines, the writes are delayed and the
MSI-X table size is incorrectly read.  By reading the
BNX2_PCI_MSIX_CONTROL register, the writes are flushed and now
ensure that the MSI-X table is set correctly before MSI-X
is enable on the device.

This patch was originally diagnosed and authored by
Kalyan Ram Chintalapati <kalyanc@vmware.com>.

Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Kalyan Ram Chintalapati <kalyanc@vmware.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bnx2.c