lkml.org 
[lkml]   [2010]   [Mar]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Stable-review] [19/39] e100: Use pci pool to work around GFP_ATOMIC order 5 memory allocation failure
On Mon, 15 Mar 2010 15:20:37 -0700 (PDT)
David Miller <davem@davemloft.net> wrote:

> From: David Miller <davem@davemloft.net>
> Date: Mon, 15 Mar 2010 14:39:06 -0700 (PDT)
>
> > From: Stephen Hemminger <shemminger@vyatta.com>
> > 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",

I will cherry pick it back into our kernel for validation.


\
 
 \ /
  Last update: 2010-03-15 23:29    [W:0.066 / U:4.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site