aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2008-01-21 20:06:09 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:10:13 -0500
commit2dd201d7b735f252df1a915a3f2e6a71910a3d87 (patch)
tree09a3fa5be7947c52a30cf640c40b230eb6cc72d6 /drivers
parent819d772b0ceddebb5b4907d5aa5505c99aec985b (diff)
[BNX2]: Disable jumbo rx paging on 5709 Ax.
The chip has problem running in this mode and needs to be disabled. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/bnx2.c4
-rw-r--r--drivers/net/bnx2.h1
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 3bb69d538ef0..44734613ab37 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -4669,7 +4669,7 @@ bnx2_set_rx_ring_size(struct bnx2 *bp, u32 size)
4669 bp->rx_pg_ring_size = 0; 4669 bp->rx_pg_ring_size = 0;
4670 bp->rx_max_pg_ring = 0; 4670 bp->rx_max_pg_ring = 0;
4671 bp->rx_max_pg_ring_idx = 0; 4671 bp->rx_max_pg_ring_idx = 0;
4672 if (rx_space > PAGE_SIZE) { 4672 if ((rx_space > PAGE_SIZE) && !(bp->flags & JUMBO_BROKEN_FLAG)) {
4673 int pages = PAGE_ALIGN(bp->dev->mtu - 40) >> PAGE_SHIFT; 4673 int pages = PAGE_ALIGN(bp->dev->mtu - 40) >> PAGE_SHIFT;
4674 4674
4675 jumbo_size = size * pages; 4675 jumbo_size = size * pages;
@@ -7031,6 +7031,8 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev)
7031 goto err_out_unmap; 7031 goto err_out_unmap;
7032 } 7032 }
7033 bp->flags |= PCIE_FLAG; 7033 bp->flags |= PCIE_FLAG;
7034 if (CHIP_REV(bp) == CHIP_REV_Ax)
7035 bp->flags |= JUMBO_BROKEN_FLAG;
7034 } else { 7036 } else {
7035 bp->pcix_cap = pci_find_capability(pdev, PCI_CAP_ID_PCIX); 7037 bp->pcix_cap = pci_find_capability(pdev, PCI_CAP_ID_PCIX);
7036 if (bp->pcix_cap == 0) { 7038 if (bp->pcix_cap == 0) {
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h
index 09bd665a3b9c..c1ab30b0f87a 100644
--- a/drivers/net/bnx2.h
+++ b/drivers/net/bnx2.h
@@ -6582,6 +6582,7 @@ struct bnx2 {
6582#define PCIE_FLAG 0x00000200 6582#define PCIE_FLAG 0x00000200
6583#define USING_MSIX_FLAG 0x00000400 6583#define USING_MSIX_FLAG 0x00000400
6584#define USING_MSI_OR_MSIX_FLAG (USING_MSI_FLAG | USING_MSIX_FLAG) 6584#define USING_MSI_OR_MSIX_FLAG (USING_MSI_FLAG | USING_MSIX_FLAG)
6585#define JUMBO_BROKEN_FLAG 0x00000800
6585 6586
6586 /* Put tx producer and consumer fields in separate cache lines. */ 6587 /* Put tx producer and consumer fields in separate cache lines. */
6587 6588