Skip to contentSkip to conversation

: Disable jumbo rx paging on 5709 Ax.

PATCH Applied Michael Chan 2 participants 2 messages Jan 22, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/4 : Disable jumbo rx paging on 5709 Ax.

[BNX2]: Disable jumbo rx paging on 5709 Ax.

The chip has problem running in this mode and needs to be disabled.

drivers/net/bnx2.c +3 -1
index 94d1857..8348af2 100644
@@ -4669,7 +4669,7 @@ bnx2_set_rx_ring_size(struct bnx2 *bp, u32 size)
 	bp->rx_pg_ring_size = 0;
 	bp->rx_max_pg_ring = 0;
 	bp->rx_max_pg_ring_idx = 0;
-	if (rx_space > PAGE_SIZE) {
+	if ((rx_space > PAGE_SIZE) && !(bp->flags & JUMBO_BROKEN_FLAG)) {
 		int pages = PAGE_ALIGN(bp->dev->mtu - 40) >> PAGE_SHIFT;
 
 		jumbo_size = size * pages;
@@ -7031,6 +7031,8 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev)
 			goto err_out_unmap;
 		}
 		bp->flags |= PCIE_FLAG;
+		if (CHIP_REV(bp) == CHIP_REV_Ax)
+			bp->flags |= JUMBO_BROKEN_FLAG;
 	} else {
 		bp->pcix_cap = pci_find_capability(pdev, PCI_CAP_ID_PCIX);
 		if (bp->pcix_cap == 0) {
drivers/net/bnx2.h +1 -0
index 09bd665..c1ab30b 100644
@@ -6582,6 +6582,7 @@ struct bnx2 {
 #define PCIE_FLAG			0x00000200
 #define USING_MSIX_FLAG			0x00000400
 #define USING_MSI_OR_MSIX_FLAG		(USING_MSI_FLAG | USING_MSIX_FLAG)
+#define JUMBO_BROKEN_FLAG		0x00000800
 
 	/* Put tx producer and consumer fields in separate cache lines. */