[Devel] [PATCH rh7 1/2] ixgbe: cleanup ixgbe_enumerate_functions
Konstantin Khorenko
khorenko at virtuozzo.com
Tue Nov 17 05:54:41 PST 2015
JFYI: filed an issue to RedHat
https://bugzilla.redhat.com/show_bug.cgi?id=1282804
--
Best regards,
Konstantin Khorenko,
Virtuozzo Linux Kernel Team
On 11/10/2015 04:48 PM, Konstantin Khorenko wrote:
> Andrey,
>
> please file a bug to RedHat about this (and add me to CC there <khorenko at virtuozzo.com>).
>
> Meanwhile i'm applying those patches in order to unblock debug kernel runs.
>
> --
> Best regards,
>
> Konstantin Khorenko,
> Virtuozzo Linux Kernel Team
>
> On 11/10/2015 11:21 AM, Vasily Averin wrote:
>> I think we can just notify Red Hat about this problem
>>
>> On 10.11.2015 11:06, Andrey Ryabinin wrote:
>>> From: Jacob Keller <jacob.e.keller at intel.com>
>>>
>>> This function previously had the same check as used by the
>>> ixgbe_pcie_from_parent. As the hardcode is due to the device having an internal
>>> switch, this function should simply use the call from ixgbe_pcie_from_parent.
>>> This reduces code complexity and makes it less likely a developer will forget
>>> to update the list in the future.
>>>
>>> Signed-off-by: Jacob Keller <jacob.e.keller at intel.com>
>>> Tested-by: Phil Schmitt <phillip.j.schmitt at intel.com>
>>> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
>>>
>>> (cherry picked from commit f1f965793b2bb8a75067e94acbe886a61637cab8)
>>> Signed-off-by: Andrey Ryabinin <aryabinin at virtuozzo.com>
>>> ---
>>> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 13 +++++--------
>>> 1 file changed, 5 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>>> index 14f05b8..9fe8787 100644
>>> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>>> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>>> @@ -7525,19 +7525,16 @@ static const struct net_device_ops ixgbe_netdev_ops = {
>>> **/
>>> static inline int ixgbe_enumerate_functions(struct ixgbe_adapter *adapter)
>>> {
>>> - struct ixgbe_hw *hw = &adapter->hw;
>>> struct list_head *entry;
>>> int physfns = 0;
>>>
>>> - /* Some cards can not use the generic count PCIe functions method, and
>>> - * so must be hardcoded to the correct value.
>>> + /* Some cards can not use the generic count PCIe functions method,
>>> + * because they are behind a parent switch, so we hardcode these with
>>> + * the correct number of functions.
>>> */
>>> - switch (hw->device_id) {
>>> - case IXGBE_DEV_ID_82599_SFP_SF_QP:
>>> - case IXGBE_DEV_ID_82599_QSFP_SF_QP:
>>> + if (ixgbe_pcie_from_parent(&adapter->hw)) {
>>> physfns = 4;
>>> - break;
>>> - default:
>>> + } else {
>>> list_for_each(entry, &adapter->pdev->bus_list) {
>>> struct pci_dev *pdev =
>>> list_entry(entry, struct pci_dev, bus_list);
>>>
>>
> _______________________________________________
> Devel mailing list
> Devel at openvz.org
> https://lists.openvz.org/mailman/listinfo/devel
>
More information about the Devel
mailing list