svn commit: r238148 - in head/sys: conf dev/e1000 modules/igb

John Baldwin jhb at freebsd.org
Thu Jul 5 21:32:26 UTC 2012


On Thursday, July 05, 2012 4:26:58 pm Jack F Vogel wrote:
> Author: jfv
> Date: Thu Jul  5 20:26:57 2012
> New Revision: 238148
> URL: http://svn.freebsd.org/changeset/base/238148
> 
> Log:
>   Sync with Intel internal source:
>      shared code update and small changes in core required
>   Add support for new i210/i211 devices
>   Improve queue calculation based on mac type
>   
>   MFC after:5 days

I only spot two small regressions in this merge:

Index: if_igb.c
===================================================================
--- if_igb.c	(revision 238148)
+++ if_igb.c	(working copy)
@@ -767,8 +767,6 @@ igb_detach(device_t dev)
 	if (adapter->vlan_detach != NULL)
 		EVENTHANDLER_DEREGISTER(vlan_unconfig, adapter->vlan_detach);
 
-	ether_ifdetach(adapter->ifp);
-
 	callout_drain(&adapter->timer);
 
 #ifdef DEV_NETMAP
@@ -965,7 +963,7 @@ igb_mq_start(struct ifnet *ifp, struct mbuf *m)
 		IGB_TX_UNLOCK(txr);
 	} else {
 		err = drbr_enqueue(ifp, txr->br, m);
-		taskqueue_enqueue(que->tq, &que->que_task);
+		taskqueue_enqueue(que->tq, &txr->txq_task);
 	}
 
 	return (err);

(The current driver calls ether_ifdetach() twice, and the second change 
refixes the issue with packets being delivered out-of-order.)

However, the changes to add a (int *)cast to eee_disable are not safe.
You will need to add some sort of SYSCTL_PROC wrapper that sets the
boolean directly instead.  I don't think it is safe to rely on bool
being an int.

-- 
John Baldwin


More information about the svn-src-all mailing list