numam-dpdk/drivers/net
Qi Zhang 12b8bb04b4 net/ice/base: reset capabilities before parsing
The capability flags used to report whether an NVM component has
a pending update are stored as simple booleans. If ice_parse_caps finds
the relevant capability then the boolean is set to true.

If the capability is not provided by firmware, then the boolean value
will be left alone. This works during initialization because the
capabilities structure is zero-initialized.

However, this does not work if capabilities are updated by calling
ice_get_caps again after driver load. For example, consider if firmware
had a pending update, and then an EMPR was triggered. The update will
complete, and firmware will no longer report these capabilities.

However, the device driver will have already set the pending flags.
After an EMPR, new capabilities are read. However, because the pending
flags in the dev_caps.common_cap structure have already been set, they
will remain true.

Fix this by clearing the capabilities structures in ice_parse_caps
before processing any capabilities.

This ensures that the capabilities structure will always be refreshed to
match the state of the device or function capabilities reported by
firmware.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Qiming Yang <qiming.yang@intel.com>
2020-06-16 19:21:08 +02:00
..
af_packet net/af_packet: remove queue number limitation 2020-03-18 10:21:41 +01:00
af_xdp net/af_xdp: fix maximum MTU 2020-02-14 12:42:12 +01:00
ark replace packed attributes 2020-04-16 18:16:46 +02:00
atlantic replace packed attributes 2020-04-16 18:16:46 +02:00
avp net/avp: fix gcc 10 maybe-uninitialized warning 2020-05-06 11:18:36 +02:00
axgbe net/axgbe: use common bit operations API 2020-06-16 14:34:42 +02:00
bnx2x net/bnx2x: use common bit operations API 2020-06-16 14:34:42 +02:00
bnxt net/bnxt: fix missed unlock 2020-05-28 17:57:07 +02:00
bonding replace unused attributes 2020-04-16 18:30:58 +02:00
cxgbe fix various typos found by Lintian 2020-04-25 19:53:47 +02:00
dpaa bus/dpaa: add accessor for netcfg 2020-05-19 15:49:53 +02:00
dpaa2 bus/fslmc: add accessor for MCP 2020-05-19 15:49:53 +02:00
e1000 net/e1000: fix port hotplug for multi-process 2020-05-18 20:35:07 +02:00
ena net/ena: fix build for O1 optimization 2020-05-11 19:21:31 +02:00
enetc replace hot attributes 2020-04-16 18:30:58 +02:00
enic net/enic: allow multiple mark and flag actions 2020-04-21 13:57:08 +02:00
failsafe net/failsafe: fix RSS RETA size info 2020-06-02 20:08:56 +02:00
fm10k replace cold attributes 2020-04-16 18:30:58 +02:00
hinic net/hinic: use common bit operations API 2020-06-16 14:34:42 +02:00
hns3 net/hns3: fix unintended sign extension in dump operation 2020-06-16 19:21:07 +02:00
i40e net/i40e: enable NEON Rx/Tx in meson 2020-06-05 13:10:19 +02:00
iavf net/iavf: fix flow uninit 2020-05-28 17:57:07 +02:00
ice net/ice/base: reset capabilities before parsing 2020-06-16 19:21:08 +02:00
igc net/igc/base: update copyright 2020-05-18 20:35:57 +02:00
ionic version: reference next ABI 21 for recent additions 2020-05-05 00:25:34 +02:00
ipn3ke net/ipn3ke: use control thread to check link status 2020-04-21 13:57:04 +02:00
ixgbe net/ixgbe: check driver type in MACsec API 2020-05-22 18:02:52 +02:00
kni net/kni: fix crash caused by double stop 2019-11-26 18:22:27 +01:00
liquidio build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
memif net/memif: enable promiscuous mode 2020-04-21 13:57:08 +02:00
mlx4 net/mlx4: fix drop queue error handling 2020-05-11 22:27:39 +02:00
mlx5 net/mlx5: fix LRO checksum 2020-06-16 19:21:07 +02:00
mvneta net/mvneta: do not use PMD log type 2020-04-21 13:57:05 +02:00
mvpp2 net/mvpp2: fix build with gcc 10 2020-05-21 15:41:48 +02:00
netvsc net/netvsc: do not spin forever waiting for reply 2020-05-28 17:57:07 +02:00
nfb net/nfb: check array size before access 2020-04-21 13:57:06 +02:00
nfp net/nfp: fix dangling pointer on probe failure 2020-04-21 13:57:06 +02:00
null net/null: add argument for no Rx 2020-04-21 13:57:07 +02:00
octeontx event/octeontx: support Rx/Tx checksum offload 2020-05-03 16:37:30 +02:00
octeontx2 net/octeontx2: fix buffer size assignment 2020-05-21 15:53:14 +02:00
pcap net/pcap: support Tx nanosecond timestamps 2020-06-16 19:21:07 +02:00
pfe fix various typos found by Lintian 2020-04-25 19:53:47 +02:00
qede net/qede: use common bit operations API 2020-06-16 14:34:42 +02:00
ring net/ring: fix device pointer on allocation 2020-05-11 22:27:39 +02:00
sfc net/sfc/base: fix manual filter delete in EF10 2020-05-21 17:38:12 +02:00
softnic net/softnic: fix resource leak for pipeline 2020-05-05 15:54:26 +02:00
szedata2 build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
tap net/tap: fix build for glibc < 2.24 2020-05-11 22:27:39 +02:00
thunderx net/thunderx: use dynamic log type 2020-04-21 13:57:05 +02:00
vdev_netvsc build: disable experimental API check internally 2020-04-14 16:22:34 +02:00
vhost net/vhost: fix potential memory leak on close 2020-04-21 13:57:07 +02:00
virtio net/virtio: fix unexpected event after reconnect 2020-05-18 20:35:57 +02:00
vmxnet3 net/vmxnet3: handle bad host framing 2020-05-18 20:35:57 +02:00
Makefile net/igc: add skeleton 2020-04-21 13:57:07 +02:00
meson.build net/igc: add skeleton 2020-04-21 13:57:07 +02:00