[PULL v2][SRU Bionic] hns3 driver updates

dann frazier dann.frazier at canonical.com
Fri May 25 20:45:02 UTC 2018

BugLink: https://bugs.launchpad.net/bugs/1768670

hns3 is a driver under active development, and is only used on
hardware that is currently pre-production. In fact, the current
version of the driver in Ubuntu doesn't work on current silicon
(crashes during init).

Given the rate of development - and the pre-production status - I
believe syncing with the upstream driver-specific changes will be more
risk-averse/maintainable than surgically backporting only changesets
that individually qualify for SRU. This PR will get us in-sync with
the current state of linux-next. Tested on a D06 devel system.

v2: Include several new fixes from linux-next

The following changes since commit b7be50f6450d62d2a2e3ad7599b63c6ca5c0006f:

  UBUNTU: Ubuntu-4.15.0-23.25 (2018-05-23 18:56:27 +0200)

are available in the Git repository at:

  git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hns3-updates-v2

for you to fetch changes up to 5d42e08e3faec03393ab84da7d97cd4d3f1b4951:

  net: hns3: Fix for CMDQ and Misc. interrupt init order problem (2018-05-25 13:53:25 -0600)

Fuyun Liang (24):
      net: hns3: add existence check when remove old uc mac address
      net: hns3: fix for netdev not running problem after calling net_stop and net_open
      net: hns3: fix for ipv6 address loss problem after setting channels
      net: hns3: unify the pause params setup function
      net: hns3: reallocate tx/rx buffer after changing mtu
      net: hns3: change GL update rate
      net: hns3: change the time interval of int_gl calculating
      net: hns3: fix for getting wrong link mode problem
      net: hns3: add get_link support to VF
      net: hns3: add querying speed and duplex support to VF
      net: hns3: fix for not returning problem in get_link_ksettings when phy exists
      net: hns3: fix for returning wrong value problem in hns3_get_rss_key_size
      net: hns3: fix for returning wrong value problem in hns3_get_rss_indir_size
      net: hns3: fix for the wrong shift problem in hns3_set_txbd_baseinfo
      net: hns3: fix for not initializing VF rss_hash_key problem
      net: hns3: Fix to support autoneg only for port attached with phy
      net: hns3: Fix for deadlock problem occurring when unregistering ae_algo
      net: hns3: Fix for the null pointer problem occurring when initializing ae_dev failed
      net: hns3: Add a check for client instance init state
      net: hns3: Change return type of hnae3_register_ae_dev
      net: hns3: Change return type of hnae3_register_ae_algo
      net: hns3: Change return value in hnae3_register_client
      net: hns3: Fixes the missing PCI iounmap for various legs
      net: hns3: Fix for netdev not running problem after calling net_stop and net_open

Huazhong Tan (6):
      net: hns3: fix to correctly fetch l4 protocol outer header
      net: hns3: Fixes the out of bounds access in hclge_map_tqp
      net: hns3: Fixes the error legs in hclge_init_ae_dev function
      net: hns3: fix for phy_addr error in hclge_mac_mdio_config
      net: hns3: fix a dead loop in hclge_cmd_csq_clean
      net: hns3: Use enums instead of magic number in hclge_is_special_opcode

Jian Shen (5):
      net: hns3: fix error type definition of return value
      net: hns3: fix return value error of hclge_get_mac_vlan_cmd_status()
      net: hns3: add existence checking before adding unicast mac address
      net: hns3: add result checking for VF when modify unicast mac address
      net: hns3: cleanup of return values in hclge_init_client_instance()

Peng Li (13):
      net: hns3: VF should get the real rss_size instead of rss_size_max
      net: hns3: set the cmdq out_vld bit to 0 after used
      net: hns3: fix endian issue when PF get mbx message flag
      net: hns3: fix the queue id for tqp enable&&reset
      net: hns3: set the max ring num when alloc netdev
      net: hns3: add support for VF driver inner interface hclgevf_ops.get_tqps_and_rss_info
      net: hns3: fix rx path skb->truesize reporting bug
      net: hns3: add support for querying pfc puase packets statistic
      net: hns3: fix the VF queue reset flow error
      net: hns3: increase the max time for IMP handle command
      net: hns3: never send command queue message to IMP when reset
      net: hns3: Add support of .sriov_configure in HNS3 driver
      net: hns3: Fixes API to fetch ethernet header length with kernel default

Salil Mehta (10):
      net: hns3: Changes to make enet watchdog timeout func common for PF/VF
      net: hns3: Add VF Reset Service Task to support event handling
      net: hns3: Add VF Reset device state and its handling
      net: hns3: Add support to request VF Reset to PF
      net: hns3: Add support to reset the enet/ring mgmt layer
      net: hns3: Add support to re-initialize the hclge device
      net: hns3: Changes to support ARQ(Asynchronous Receive Queue)
      net: hns3: Add *Asserting Reset* mailbox message & handling in VF
      net: hns3: Changes required in PF mailbox to support VF reset
      net: hns3: Fixes error reported by Kbuild and internal review

Tan Xiaojun (1):
      net: hns3: fix length overflow when CONFIG_ARM64_64K_PAGES

Wei Yongjun (1):
      net: hns3: remove unnecessary pci_set_drvdata() and devm_kfree()

Xi Wang (4):
      net: hns3: Remove packet statistics in the range of 8192~12287
      net: hns3: Fix the missing client list node initialization
      net: hns3: Fix for hns3 module is loaded multiple times problem
      net: hns3: Fixes kernel panic issue during rmmod hns3 driver

Yunsheng Lin (22):
      net: hns3: refactor the hclge_get/set_rss function
      net: hns3: refactor the hclge_get/set_rss_tuple function
      net: hns3: fix for RSS configuration loss problem during reset
      net: hns3: fix for pause configuration lost during reset
      net: hns3: fix for use-after-free when setting ring parameter
      net: hns3: refactor the get/put_vector function
      net: hns3: fix for coalesce configuration lost during reset
      net: hns3: refactor the coalesce related struct
      net: hns3: fix for coal configuation lost when setting the channel
      net: hns3: fix for loopback failure when vlan filter is enable
      net: hns3: fix for buffer overflow smatch warning
      net: hns3: fix for vlan table lost problem when resetting
      net: hns3: Remove error log when getting pfc stats fails
      net: hns3: Fix for packet loss due wrong filter config in VLAN tbls
      net: hns3: Add support of hardware rx-vlan-offload to HNS3 VF driver
      net: hns3: Fix for setting mac address when resetting
      net: hns3: remove add/del_tunnel_udp in hns3_enet module
      net: hns3: fix for cleaning ring problem
      net: hns3: refactor the loopback related function
      net: hns3: Fixes the back pressure setting when sriov is enabled
      net: hns3: Fix for fiber link up problem
      net: hns3: Fix for CMDQ and Misc. interrupt init order problem

kbuild test robot (1):
      net: hns3: hclge_inform_reset_assert_to_vf() can be static

 drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h    |  18 +
 drivers/net/ethernet/hisilicon/hns3/hnae3.c        |  45 +-
 drivers/net/ethernet/hisilicon/hns3/hnae3.h        |  32 +-
 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c    | 722 +++++++++--------
 drivers/net/ethernet/hisilicon/hns3/hns3_enet.h    |  22 +-
 drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 174 ++---
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c |  29 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h |   4 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c |  16 +
 .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c    | 854 +++++++++++++--------
 .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h    |  50 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 106 ++-
 .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c    |  13 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c  | 118 ++-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.h  |  13 +-
 .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c   |   6 +
 .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.h   |   2 +-
 .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c  | 511 ++++++++++--
 .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h  |  37 +-
 .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c   |  95 ++-
 20 files changed, 1903 insertions(+), 964 deletions(-)

More information about the kernel-team mailing list