svn commit: r303107 - in stable/10/sys/dev: e1000 ixgb ixgbe ixl
Sean Bruno
sbruno at FreeBSD.org
Wed Jul 20 18:26:50 UTC 2016
Author: sbruno
Date: Wed Jul 20 18:26:48 2016
New Revision: 303107
URL: https://svnweb.freebsd.org/changeset/base/303107
Log:
MFC - r302384 to 10-STABLE
Do not initialize the adapter on MTU change when adapter status is down.
This fixes long-standing problems when changing settings of the adapter.
Discussed in:
https://lists.freebsd.org/pipermail/freebsd-net/2016-June/045509.html
Differential Revision: https://reviews.freebsd.org/D7254
Modified:
stable/10/sys/dev/e1000/if_em.c
stable/10/sys/dev/e1000/if_igb.c
stable/10/sys/dev/e1000/if_lem.c
stable/10/sys/dev/ixgb/if_ixgb.c
stable/10/sys/dev/ixgbe/if_ix.c
stable/10/sys/dev/ixgbe/if_ixv.c
stable/10/sys/dev/ixl/if_ixl.c
stable/10/sys/dev/ixl/if_ixlv.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/dev/e1000/if_em.c
==============================================================================
--- stable/10/sys/dev/e1000/if_em.c Wed Jul 20 18:16:58 2016 (r303106)
+++ stable/10/sys/dev/e1000/if_em.c Wed Jul 20 18:26:48 2016 (r303107)
@@ -1220,7 +1220,8 @@ em_ioctl(struct ifnet *ifp, u_long comma
ifp->if_mtu = ifr->ifr_mtu;
adapter->hw.mac.max_frame_size =
ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN;
- em_init_locked(adapter);
+ if (if_getdrvflags(ifp) & IFF_DRV_RUNNING)
+ em_init_locked(adapter);
EM_CORE_UNLOCK(adapter);
break;
}
Modified: stable/10/sys/dev/e1000/if_igb.c
==============================================================================
--- stable/10/sys/dev/e1000/if_igb.c Wed Jul 20 18:16:58 2016 (r303106)
+++ stable/10/sys/dev/e1000/if_igb.c Wed Jul 20 18:26:48 2016 (r303107)
@@ -1090,7 +1090,8 @@ igb_ioctl(struct ifnet *ifp, u_long comm
ifp->if_mtu = ifr->ifr_mtu;
adapter->max_frame_size =
ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN;
- igb_init_locked(adapter);
+ if ((ifp->if_drv_flags & IFF_DRV_RUNNING))
+ igb_init_locked(adapter);
IGB_CORE_UNLOCK(adapter);
break;
}
Modified: stable/10/sys/dev/e1000/if_lem.c
==============================================================================
--- stable/10/sys/dev/e1000/if_lem.c Wed Jul 20 18:16:58 2016 (r303106)
+++ stable/10/sys/dev/e1000/if_lem.c Wed Jul 20 18:26:48 2016 (r303107)
@@ -1047,7 +1047,8 @@ lem_ioctl(struct ifnet *ifp, u_long comm
ifp->if_mtu = ifr->ifr_mtu;
adapter->max_frame_size =
ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN;
- lem_init_locked(adapter);
+ if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING))
+ lem_init_locked(adapter);
EM_CORE_UNLOCK(adapter);
break;
}
Modified: stable/10/sys/dev/ixgb/if_ixgb.c
==============================================================================
--- stable/10/sys/dev/ixgb/if_ixgb.c Wed Jul 20 18:16:58 2016 (r303106)
+++ stable/10/sys/dev/ixgb/if_ixgb.c Wed Jul 20 18:26:48 2016 (r303107)
@@ -538,7 +538,8 @@ ixgb_ioctl(struct ifnet * ifp, IOCTL_CMD
adapter->hw.max_frame_size =
ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN;
- ixgb_init_locked(adapter);
+ if (ifp->if_drv_flags & IFF_DRV_RUNNING)
+ ixgb_init_locked(adapter);
IXGB_UNLOCK(adapter);
}
break;
Modified: stable/10/sys/dev/ixgbe/if_ix.c
==============================================================================
--- stable/10/sys/dev/ixgbe/if_ix.c Wed Jul 20 18:16:58 2016 (r303106)
+++ stable/10/sys/dev/ixgbe/if_ix.c Wed Jul 20 18:26:48 2016 (r303107)
@@ -900,7 +900,8 @@ ixgbe_ioctl(struct ifnet * ifp, u_long c
ifp->if_mtu = ifr->ifr_mtu;
adapter->max_frame_size =
ifp->if_mtu + IXGBE_MTU_HDR;
- ixgbe_init_locked(adapter);
+ if (ifp->if_drv_flags & IFF_DRV_RUNNING)
+ ixgbe_init_locked(adapter);
#ifdef PCI_IOV
ixgbe_recalculate_max_frame(adapter);
#endif
Modified: stable/10/sys/dev/ixgbe/if_ixv.c
==============================================================================
--- stable/10/sys/dev/ixgbe/if_ixv.c Wed Jul 20 18:16:58 2016 (r303106)
+++ stable/10/sys/dev/ixgbe/if_ixv.c Wed Jul 20 18:26:48 2016 (r303107)
@@ -587,7 +587,8 @@ ixv_ioctl(struct ifnet * ifp, u_long com
ifp->if_mtu = ifr->ifr_mtu;
adapter->max_frame_size =
ifp->if_mtu + IXGBE_MTU_HDR;
- ixv_init_locked(adapter);
+ if (ifp->if_drv_flags & IFF_DRV_RUNNING)
+ ixv_init_locked(adapter);
IXGBE_CORE_UNLOCK(adapter);
}
break;
Modified: stable/10/sys/dev/ixl/if_ixl.c
==============================================================================
--- stable/10/sys/dev/ixl/if_ixl.c Wed Jul 20 18:16:58 2016 (r303106)
+++ stable/10/sys/dev/ixl/if_ixl.c Wed Jul 20 18:26:48 2016 (r303107)
@@ -1024,7 +1024,8 @@ ixl_ioctl(struct ifnet * ifp, u_long com
vsi->max_frame_size =
ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN
+ ETHER_VLAN_ENCAP_LEN;
- ixl_init_locked(pf);
+ if (ifp->if_drv_flags & IFF_DRV_RUNNING)
+ ixl_init_locked(pf);
IXL_PF_UNLOCK(pf);
}
break;
Modified: stable/10/sys/dev/ixl/if_ixlv.c
==============================================================================
--- stable/10/sys/dev/ixl/if_ixlv.c Wed Jul 20 18:16:58 2016 (r303106)
+++ stable/10/sys/dev/ixl/if_ixlv.c Wed Jul 20 18:26:48 2016 (r303107)
@@ -675,7 +675,8 @@ ixlv_ioctl(struct ifnet *ifp, u_long com
vsi->max_frame_size =
ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN
+ ETHER_VLAN_ENCAP_LEN;
- ixlv_init_locked(sc);
+ if (ifp->if_drv_flags & IFF_DRV_RUNNING)
+ ixlv_init_locked(sc);
}
mtx_unlock(&sc->mtx);
break;
More information about the svn-src-stable
mailing list