summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
diff options
context:
space:
mode:
authorIntiyaz Basha2017-08-14 21:01:56 +0200
committerDavid S. Miller2017-08-15 07:21:40 +0200
commitd18ca7df9f2a863cf67645609bb4a97b0b088116 (patch)
treebecae344262d4cc1ee415fde864e0305a8681bde /drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
parentliquidio: moved liquidio_setup_io_queues to lio_core.c (diff)
downloadkernel-qcow2-linux-d18ca7df9f2a863cf67645609bb4a97b0b088116.tar.gz
kernel-qcow2-linux-d18ca7df9f2a863cf67645609bb4a97b0b088116.tar.xz
kernel-qcow2-linux-d18ca7df9f2a863cf67645609bb4a97b0b088116.zip
liquidio: added support for ethtool --set-ring feature
added support for ethtool --set-ring feature Signed-off-by: Intiyaz Basha <intiyaz.basha@cavium.com> Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/cavium/liquidio/lio_vf_main.c')
-rw-r--r--drivers/net/ethernet/cavium/liquidio/lio_vf_main.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
index aa502a8d3fdb..2fc2da3a8018 100644
--- a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
+++ b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c
@@ -548,7 +548,8 @@ static void print_link_info(struct net_device *netdev)
{
struct lio *lio = GET_LIO(netdev);
- if (atomic_read(&lio->ifstate) & LIO_IFSTATE_REGISTERED) {
+ if (!ifstate_check(lio, LIO_IFSTATE_RESETTING) &&
+ ifstate_check(lio, LIO_IFSTATE_REGISTERED)) {
struct oct_link_info *linfo = &lio->linfo;
if (linfo->link.s.link_up) {
@@ -1633,6 +1634,9 @@ static struct net_device_stats *liquidio_get_stats(struct net_device *netdev)
oct = lio->oct_dev;
+ if (ifstate_check(lio, LIO_IFSTATE_RESETTING))
+ return stats;
+
for (i = 0; i < lio->linfo.num_txpciq; i++) {
iq_no = lio->linfo.txpciq[i].s.q_no;
iq_stats = &oct->instr_queue[iq_no]->stats;