I think we can just notify Red Hat about this problem

On 10.11.2015 11:06, Andrey Ryabinin wrote:
> From: Jacob Keller <[email protected]>
> 
> 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 <[email protected]>
> Tested-by: Phil Schmitt <[email protected]>
> Signed-off-by: Jeff Kirsher <[email protected]>
> 
> (cherry picked from commit f1f965793b2bb8a75067e94acbe886a61637cab8)
> Signed-off-by: Andrey Ryabinin <[email protected]>
> ---
>  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
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to