Author: davidcs
Date: Wed Jul 26 01:43:44 2017
New Revision: 321500
URL: https://svnweb.freebsd.org/changeset/base/321500

Log:
  MFC 320694
  Allow MTU changes without ifconfig down/up

Modified:
  stable/9/sys/dev/qlxgbe/ql_hw.c
  stable/9/sys/dev/qlxgbe/ql_os.c
Directory Properties:
  stable/9/   (props changed)
  stable/9/sys/   (props changed)

Modified: stable/9/sys/dev/qlxgbe/ql_hw.c
==============================================================================
--- stable/9/sys/dev/qlxgbe/ql_hw.c     Wed Jul 26 01:28:27 2017        
(r321499)
+++ stable/9/sys/dev/qlxgbe/ql_hw.c     Wed Jul 26 01:43:44 2017        
(r321500)
@@ -2498,6 +2498,9 @@ ql_init_hw_if(qla_host_t *ha)
        if (qla_hw_add_all_mcast(ha))
                return (-1);
 
+       if (ql_set_max_mtu(ha, ha->max_frame_size, ha->hw.rcv_cntxt_id))
+               return (-1);
+
        if (qla_config_rss(ha, ha->hw.rcv_cntxt_id))
                return (-1);
 

Modified: stable/9/sys/dev/qlxgbe/ql_os.c
==============================================================================
--- stable/9/sys/dev/qlxgbe/ql_os.c     Wed Jul 26 01:28:27 2017        
(r321499)
+++ stable/9/sys/dev/qlxgbe/ql_os.c     Wed Jul 26 01:43:44 2017        
(r321500)
@@ -985,8 +985,7 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
                                ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN;
 
                        if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) {
-                               ret = ql_set_max_mtu(ha, ha->max_frame_size,
-                                       ha->hw.rcv_cntxt_id);
+                               qla_init_locked(ha);
                        }
 
                        if (ifp->if_mtu > ETHERMTU)
@@ -1019,11 +1018,9 @@ qla_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
                                        ret = ql_set_allmulti(ha);
                                }
                        } else {
-                               qla_init_locked(ha);
                                ha->max_frame_size = ifp->if_mtu +
                                        ETHER_HDR_LEN + ETHER_CRC_LEN;
-                               ret = ql_set_max_mtu(ha, ha->max_frame_size,
-                                       ha->hw.rcv_cntxt_id);
+                               qla_init_locked(ha);
                        }
                } else {
                        if (ifp->if_drv_flags & IFF_DRV_RUNNING)
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to