Re: [Stable-review] [19/39] e100: Use pci pool to work aroundGFP_ATOMIC order 5 memory allocation failure

From: David Miller
Date: Mon Mar 15 2010 - 18:20:25 EST


From: David Miller <davem@xxxxxxxxxxxxx>
Date: Mon, 15 Mar 2010 14:39:06 -0700 (PDT)

> From: Stephen Hemminger <shemminger@xxxxxxxxxx>
> Date: Mon, 15 Mar 2010 14:36:53 -0700
>
>> The kernel has both fixes in it. The customer reported that if both
>> were reverted, the kernel panic went away.
>
> Please recheck that as your backtrace matches exactly the
> crash signature fixed by the memset().

As an update, after some auditing I found that ring parameter changes
aren't handled correctly by the PCI pool changes and that might
explain the crash.

I'll push the following fix around as soon as possible:

diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index a26ccab..b997e57 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",
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/