Fix botch in last commit (I tested on 6.x which doesn't have TSO):

- Test the mac_type rather than if_hwassist (since ifp doesn't exist yet)
  to determine if the adapter supports TSO and thus to change the sizes
  for the bus_dma tag.

Reviewed by:	glebius
This commit is contained in:
John Baldwin 2006-11-01 15:36:47 +00:00
parent 8e570b35f7
commit 8d7b3b9566
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=163876

View File

@ -1100,10 +1100,6 @@ em_init_locked(struct adapter *adapter)
if (adapter->hw.mac_type >= em_82543) {
if (ifp->if_capenable & IFCAP_TXCSUM)
ifp->if_hwassist = EM_CHECKSUM_FEATURES;
/*
* em_setup_transmit_structures() will behave differently
* based on the state of TSO.
*/
if (ifp->if_capenable & IFCAP_TSO)
ifp->if_hwassist |= EM_TCPSEG_FEATURES;
}
@ -2626,7 +2622,8 @@ em_allocate_transmit_structures(struct adapter *adapter)
segsize = size = roundup2(adapter->hw.max_frame_size, MCLBYTES);
/* Overrides for TSO - want large sizes */
if (ifp->if_hwassist & EM_TCPSEG_FEATURES) {
if ((adapter->hw.mac_type > em_82544) &&
(adapter->hw.mac_type != em_82547)) {
size = EM_TSO_SIZE;
segsize = PAGE_SIZE;
}