[Intel-wired-lan] [PATCH net] igb: clean up in all error paths when enabling SR-IOV
Corinna Vinschen
vinschen at redhat.com
Thu Aug 31 08:10:11 UTC 2023
On Aug 29 16:09, Tony Nguyen wrote:
> On 8/24/2023 6:07 AM, Corinna Vinschen wrote:
> > Question to the Intel folks:
> >
> > On Aug 24 11:16, Corinna Vinschen wrote:
> > > After commit 50f303496d92 ("igb: Enable SR-IOV after reinit"), removing
> > > the igb module could hang or crash (depending on the machine) when the
> > > module has been loaded with the max_vfs parameter set to some value != 0.
> > >
> > > In case of one test machine with a dual port 82580, this hang occured:
> > > [...]
> > > The reproducer was a simple script:
> > >
> > > #!/bin/sh
> > > for i in `seq 1 5`; do
> > > modprobe -rv igb
> > > modprobe -v igb max_vfs=1
> > > sleep 1
> > > modprobe -rv igb
> > > done
> > >
> > > It turned out that this could only be reproduce on 82580 (quad and
> > > dual-port), but not on 82576, i350 and i210. Further debugging showed
> > > that igb_enable_sriov()'s call to pci_enable_sriov() is failing, because
> > > dev->is_physfn is 0 on 82580.
> >
> > Along these lines, isn't the first and foremost bug that igb_enable_sriov()
> > has been called for this NIC at all? In terms of patches, shouldn't the
> > guard expression in igb_probe_vfs()
> >
> > /* Virtualization features not supported on i210 family. */
> > if ((hw->mac.type == e1000_i210) || (hw->mac.type == e1000_i211))
> > return;
> >
> > get changed to:
> >
> > /* Virtualization features not supported on i210 and 82580 family. */
> > if ((hw->mac.type == e1000_i210) || (hw->mac.type == e1000_i211) ||
> > (hw->mac.type == e1000_82580))
> > return;
>
> Hi Corinna,
>
> Adding 82580 to this seems like a good change; did you want to submit a
> patch to do this?
Hi Tony,
sure, I just sent the patch.
Thanks,
Corinna
More information about the Intel-wired-lan
mailing list