summary refs log tree commit diff
path: root/drivers/net/e100.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2010-03-15 15:23:30 -0700
committerDavid S. Miller <davem@davemloft.net>2010-03-15 15:23:30 -0700
commit211a0d941b1924e667483f822a55e2cc694cd212 (patch)
tree16d22011246bcc97a1b191872aa3d2afa354a273 /drivers/net/e100.c
parentbec68ff1637ca00bb1585a03a7be8a13380084de (diff)
downloadlinux-211a0d941b1924e667483f822a55e2cc694cd212.tar.gz
e100: Fix ring parameter change handling regression.
When the PCI pool changes were added to fix resume failures:

commit 98468efddb101f8a29af974101c17ba513b07be1
e100: Use pci pool to work around GFP_ATOMIC order 5 memory allocation failu

and

commit 70abc8cb90e679d8519721e2761d8366a18212a6
e100: Fix broken cbs accounting due to missing memset.

This introduced a problem that can happen if the TX ring size
is increased.  We need to size the PCI pool using cbs->max
instead of the default cbs->count value.

Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/e100.c')
-rw-r--r--drivers/net/e100.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index a26ccab057d5..b997e578e58f 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -2858,7 +2858,7 @@ static int __devinit e100_probe(struct pci_dev *pdev,
 	}
 	nic->cbs_pool = pci_pool_create(netdev->name,
 			   nic->pdev,
-			   nic->params.cbs.count * sizeof(struct cb),
+			   nic->params.cbs.max * sizeof(struct cb),
 			   sizeof(u32),
 			   0);
 	DPRINTK(PROBE, INFO, "addr 0x%llx, irq %d, MAC addr %pM\n",