diff options
author | Jack F Vogel <jfv@FreeBSD.org> | 2007-09-10 21:50:40 +0000 |
---|---|---|
committer | Jack F Vogel <jfv@FreeBSD.org> | 2007-09-10 21:50:40 +0000 |
commit | b979e69bf6831530d8fc25a2b93aed84da61f26f (patch) | |
tree | 44600d23d3fe26fcb7a88cca750ac9342b5e6988 /sys | |
parent | 19cf67115cb15da93bc984a406b3519dfeeff6c7 (diff) | |
download | src-b979e69bf6831530d8fc25a2b93aed84da61f26f.tar.gz src-b979e69bf6831530d8fc25a2b93aed84da61f26f.zip |
A number of small fixes:
- duplicate #define in header, thanks to Kevin Lo for pointing out.
- incorrect BUSMASTER enable logic, thanks Patrick Oeschger
- 82543 fails due to bogus IO BAR logic
- Allow 82571 to use MSI interrupts
- Checksum Offload for UDP not working on 82575
Approved by:re
Notes
Notes:
svn path=/head/; revision=172138
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/em/if_em.c | 10 | ||||
-rw-r--r-- | sys/dev/em/if_em.h | 1 |
2 files changed, 5 insertions, 6 deletions
diff --git a/sys/dev/em/if_em.c b/sys/dev/em/if_em.c index 30b81ff4d488..7a933e69f1cc 100644 --- a/sys/dev/em/if_em.c +++ b/sys/dev/em/if_em.c @@ -2450,8 +2450,8 @@ em_identify_hardware(struct adapter *adapter) /* Make sure our PCI config space has the necessary stuff set */ adapter->hw.bus.pci_cmd_word = pci_read_config(dev, PCIR_COMMAND, 2); - if ((adapter->hw.bus.pci_cmd_word & PCIM_CMD_BUSMASTEREN) == 0 && - (adapter->hw.bus.pci_cmd_word & PCIM_CMD_MEMEN)) { + if (!((adapter->hw.bus.pci_cmd_word & PCIM_CMD_BUSMASTEREN) && + (adapter->hw.bus.pci_cmd_word & PCIM_CMD_MEMEN))) { device_printf(dev, "Memory Access and/or Bus Master bits " "were not set!\n"); adapter->hw.bus.pci_cmd_word |= @@ -2495,7 +2495,7 @@ em_allocate_pci_resources(struct adapter *adapter) adapter->hw.hw_addr = (uint8_t *)&adapter->osdep.mem_bus_space_handle; /* Only older adapters use IO mapping */ - if ((adapter->hw.mac.type > e1000_82542) && + if ((adapter->hw.mac.type > e1000_82543) && (adapter->hw.mac.type < e1000_82571)) { /* Figure our where our IO BAR is ? */ for (rid = PCIR_BAR(0); rid < PCIR_CIS;) { @@ -2557,7 +2557,7 @@ em_allocate_pci_resources(struct adapter *adapter) rid = 1; adapter->msi = 1; } - } else if (adapter->hw.mac.type > e1000_82571) { + } else if (adapter->hw.mac.type >= e1000_82571) { val = pci_msi_count(dev); if (val == 1 && pci_alloc_msi(dev, &val) == 0) { rid = 1; @@ -3698,7 +3698,7 @@ em_tx_adv_ctx_setup(struct adapter *adapter, struct mbuf *mp) break; case IPPROTO_UDP: if (mp->m_pkthdr.csum_flags & CSUM_UDP) - type_tucmd_mlhl |= E1000_ADVTXD_TUCMD_L4T_TCP; + type_tucmd_mlhl |= E1000_ADVTXD_TUCMD_L4T_UDP; break; } diff --git a/sys/dev/em/if_em.h b/sys/dev/em/if_em.h index 327fa4bedc82..a4bf4fe30f62 100644 --- a/sys/dev/em/if_em.h +++ b/sys/dev/em/if_em.h @@ -181,7 +181,6 @@ POSSIBILITY OF SUCH DAMAGE. #define EM_SMARTSPEED_DOWNSHIFT 3 #define EM_SMARTSPEED_MAX 15 #define EM_MAX_INTR 10 -#define EM_TSO_SEG_SIZE 4096 /* Max dma seg size */ #define MAX_NUM_MULTICAST_ADDRESSES 128 #define PCI_ANY_ID (~0U) |