1 diff -upr bcm5700-8.3.14./src/b57um.c bcm5700-8.3.14/src/b57um.c
2 --- bcm5700-8.3.14./src/b57um.c 2005-11-03 00:08:15.000000000 +0000
3 +++ bcm5700-8.3.14/src/b57um.c 2007-09-09 22:04:40.896315249 +0000
4 @@ -2014,7 +2014,7 @@ bcm5700_vlan_rx_kill_vid(struct net_devi
5 bcm5700_intr_off(pUmDevice);
6 bcm5700_poll_wait(pUmDevice);
7 if (pUmDevice->vlgrp) {
8 - pUmDevice->vlgrp->vlan_devices[vid] = NULL;
9 + pUmDevice->vlgrp->vlan_devices_arrays[vid] = NULL;
11 bcm5700_intr_on(pUmDevice);
13 @@ -2074,7 +2074,7 @@ bcm5700_start_xmit(struct sk_buff *skb,
14 pUmPacket = (PUM_PACKET) pPacket;
15 pUmPacket->skbuff = skb;
17 - if (skb->ip_summed == CHECKSUM_HW) {
18 + if (skb->ip_summed == CHECKSUM_PARTIAL) {
19 pPacket->Flags = SND_BD_FLAG_TCP_UDP_CKSUM;
21 pUmDevice->tx_chksum_count++;
22 @@ -2121,8 +2121,9 @@ bcm5700_start_xmit(struct sk_buff *skb,
26 - if ((mss = (LM_UINT32) skb_shinfo(skb)->tso_size) &&
27 + if (skb_is_gso(skb) &&
28 (skb->len > pDevice->TxMtu)) {
29 + mss = (LM_UINT32) skb_shinfo(skb)->gso_size;
31 #if (LINUX_VERSION_CODE >= 0x02060c)
33 @@ -2139,34 +2140,34 @@ bcm5700_start_xmit(struct sk_buff *skb,
34 SND_BD_FLAG_CPU_POST_DMA;
37 - if (skb->h.th->doff > 5) {
38 - tcp_opt_len = (skb->h.th->doff - 5) << 2;
39 + if (tcp_hdr(skb)->doff > 5) {
40 + tcp_opt_len = (tcp_hdr(skb)->doff - 5) << 2;
42 - ip_tcp_len = (skb->nh.iph->ihl << 2) + sizeof(struct tcphdr);
43 - skb->nh.iph->check = 0;
44 + ip_tcp_len = (ip_hdr(skb)->ihl << 2) + sizeof(struct tcphdr);
45 + ip_hdr(skb)->check = 0;
47 if ( T3_ASIC_IS_575X_PLUS(pDevice->ChipRevId) ){
48 - skb->h.th->check = 0;
49 + tcp_hdr(skb)->check = 0;
50 pPacket->Flags &= ~SND_BD_FLAG_TCP_UDP_CKSUM;
53 - skb->h.th->check = ~csum_tcpudp_magic(
54 - skb->nh.iph->saddr, skb->nh.iph->daddr,
55 + tcp_hdr(skb)->check = ~csum_tcpudp_magic(
56 + ip_hdr(skb)->saddr, ip_hdr(skb)->daddr,
60 - skb->nh.iph->tot_len = htons(mss + ip_tcp_len + tcp_opt_len);
61 + ip_hdr(skb)->tot_len = htons(mss + ip_tcp_len + tcp_opt_len);
64 - if (tcp_opt_len || (skb->nh.iph->ihl > 5)) {
65 + if (tcp_opt_len || (ip_hdr(skb)->ihl > 5)) {
66 if ( T3_ASIC_IS_5705_BEYOND(pDevice->ChipRevId) ){
68 - ((skb->nh.iph->ihl - 5) +
69 + ((ip_hdr(skb)->ihl - 5) +
70 (tcp_opt_len >> 2)) << 11;
74 - ((skb->nh.iph->ihl - 5) +
75 + ((ip_hdr(skb)->ihl - 5) +
76 (tcp_opt_len >> 2)) << 12;
79 @@ -4560,7 +4561,7 @@ static struct pci_driver bcm5700_pci_dri
81 static int __init bcm5700_init_module (void)
83 - return pci_module_init(&bcm5700_pci_driver);
84 + return pci_register_driver(&bcm5700_pci_driver);
88 --- bcm5700-8.3.14/src/mm.h~ 2005-11-03 02:08:15.000000000 +0200
89 +++ bcm5700-8.3.14/src/mm.h 2008-04-03 23:02:40.066478548 +0300
91 #define __NO_VERSION__
93 #include <linux/version.h>
94 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18)
95 +#include <linux/utsrelease.h>