[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1379970659.1906.3.camel@jtkirshe-mobl.jf.intel.com>
Date: Mon, 23 Sep 2013 14:10:59 -0700
From: Jeff Kirsher <jeffrey.t.kirsher@...el.com>
To: Stefan Assmann <sassmann@...nic.de>
Cc: netdev@...r.kernel.org, e1000-devel@...ts.sourceforge.net,
davem@...emloft.net, alexander.h.duyck@...el.com,
carolyn.wyborny@...el.com, gregory.v.rose@...el.com
Subject: Re: [PATCH net-next] igb: fix driver reload with VF assigned to
guest
On Mon, 2013-09-23 at 15:06 +0200, Stefan Assmann wrote:
> commit fa44f2f185f7f9da19d331929bb1b56c1ccd1d93 broke reloading of
> igb, when
> VFs are assigned to a guest, in several ways.
> 1. on module load adapter->vf_data does not get properly allocated,
> resulting in a null pointer exception when accessing adapter->vf_data
> in
> igb_reset() on module reload.
> modprobe -r igb ; modprobe igb max_vfs=7
> [ 215.215837] igb 0000:01:00.1: removed PHC on eth1
> [ 216.932072] igb 0000:01:00.1: IOV Disabled
> [ 216.937038] igb 0000:01:00.0: removed PHC on eth0
> [ 217.127032] igb 0000:01:00.0: Cannot deallocate SR-IOV virtual
> functions while they are assigned - VFs will not be deallocated
> [ 217.146178] igb: Intel(R) Gigabit Ethernet Network Driver - version
> 5.0.5-k
> [ 217.154050] igb: Copyright (c) 2007-2013 Intel Corporation.
> [ 217.160688] igb 0000:01:00.0: Enabling SR-IOV VFs using the module
> parameter is deprecated - please use the pci sysfs interface.
> [ 217.173703] igb 0000:01:00.0: irq 103 for MSI/MSI-X
> [ 217.179227] igb 0000:01:00.0: irq 104 for MSI/MSI-X
> [ 217.184735] igb 0000:01:00.0: irq 105 for MSI/MSI-X
> [ 217.220082] BUG: unable to handle kernel NULL pointer dereference
> at 0000000000000048
> [ 217.228846] IP: [<ffffffffa007c5e5>] igb_reset+0xc5/0x4b0 [igb]
> [ 217.235472] PGD 3607ec067 PUD 36170b067 PMD 0
> [ 217.240461] Oops: 0002 [#1] SMP
> [ 217.244085] Modules linked in: igb(+) igbvf mptsas mptscsih mptbase
> scsi_transport_sas [last unloaded: igb]
> [ 217.255040] CPU: 4 PID: 4833 Comm: modprobe Not tainted 3.11.0+ #46
> [...]
> [ 217.390007] [<ffffffffa007fab2>] igb_probe+0x892/0xfd0 [igb]
> [ 217.396422] [<ffffffff81470b3e>] local_pci_probe+0x1e/0x40
> [ 217.402641] [<ffffffff81472029>] pci_device_probe+0xf9/0x110
> [...]
> 2. A follow up issue, pci_enable_sriov() should only be called if no
> VFs were
> still allocated on module unload. Otherwise pci_enable_sriov() gets
> called
> multiple times in a row rendering the NIC unusable until reset.
> 3. simply calling igb_enable_sriov() in igb_probe_vfs() is not enough
> as the
> interrupts need to be re-setup. Switching that to
> igb_pci_enable_sriov().
>
> Signed-off-by: Stefan Assmann <sassmann@...nic.de>
> ---
> drivers/net/ethernet/intel/igb/igb_main.c | 37
> +++++++++++++------------------
> 1 file changed, 16 insertions(+), 21 deletions(-)
Thanks Stefan! I have added the patch to my queue.
Download attachment "signature.asc" of type "application/pgp-signature" (837 bytes)
Powered by blists - more mailing lists