diff options
| author | Patrick McHardy <kaber@trash.net> | 2010-04-20 10:02:01 -0400 |
|---|---|---|
| committer | Patrick McHardy <kaber@trash.net> | 2010-04-20 10:02:01 -0400 |
| commit | 62910554656cdcd6b6f84a5154c4155aae4ca231 (patch) | |
| tree | dcf14004f6fd2ef7154362ff948bfeba0f3ea92d /drivers/net/forcedeth.c | |
| parent | 22265a5c3c103cf8c50be62e6c90d045eb649e6d (diff) | |
| parent | ab9304717f7624c41927f442e6b6d418b2d8b3e4 (diff) | |
Merge branch 'master' of /repos/git/net-next-2.6
Conflicts:
Documentation/feature-removal-schedule.txt
net/ipv6/netfilter/ip6t_REJECT.c
net/netfilter/xt_limit.c
Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'drivers/net/forcedeth.c')
| -rw-r--r-- | drivers/net/forcedeth.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index ca05e5662029..a1c0e7bb70e8 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c | |||
| @@ -59,6 +59,7 @@ | |||
| 59 | #include <linux/init.h> | 59 | #include <linux/init.h> |
| 60 | #include <linux/if_vlan.h> | 60 | #include <linux/if_vlan.h> |
| 61 | #include <linux/dma-mapping.h> | 61 | #include <linux/dma-mapping.h> |
| 62 | #include <linux/slab.h> | ||
| 62 | 63 | ||
| 63 | #include <asm/irq.h> | 64 | #include <asm/irq.h> |
| 64 | #include <asm/io.h> | 65 | #include <asm/io.h> |
| @@ -2147,7 +2148,7 @@ static netdev_tx_t nv_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
| 2147 | unsigned int i; | 2148 | unsigned int i; |
| 2148 | u32 offset = 0; | 2149 | u32 offset = 0; |
| 2149 | u32 bcnt; | 2150 | u32 bcnt; |
| 2150 | u32 size = skb->len-skb->data_len; | 2151 | u32 size = skb_headlen(skb); |
| 2151 | u32 entries = (size >> NV_TX2_TSO_MAX_SHIFT) + ((size & (NV_TX2_TSO_MAX_SIZE-1)) ? 1 : 0); | 2152 | u32 entries = (size >> NV_TX2_TSO_MAX_SHIFT) + ((size & (NV_TX2_TSO_MAX_SIZE-1)) ? 1 : 0); |
| 2152 | u32 empty_slots; | 2153 | u32 empty_slots; |
| 2153 | struct ring_desc* put_tx; | 2154 | struct ring_desc* put_tx; |
| @@ -2268,7 +2269,7 @@ static netdev_tx_t nv_start_xmit_optimized(struct sk_buff *skb, | |||
| 2268 | unsigned int i; | 2269 | unsigned int i; |
| 2269 | u32 offset = 0; | 2270 | u32 offset = 0; |
| 2270 | u32 bcnt; | 2271 | u32 bcnt; |
| 2271 | u32 size = skb->len-skb->data_len; | 2272 | u32 size = skb_headlen(skb); |
| 2272 | u32 entries = (size >> NV_TX2_TSO_MAX_SHIFT) + ((size & (NV_TX2_TSO_MAX_SIZE-1)) ? 1 : 0); | 2273 | u32 entries = (size >> NV_TX2_TSO_MAX_SHIFT) + ((size & (NV_TX2_TSO_MAX_SIZE-1)) ? 1 : 0); |
| 2273 | u32 empty_slots; | 2274 | u32 empty_slots; |
| 2274 | struct ring_desc_ex* put_tx; | 2275 | struct ring_desc_ex* put_tx; |
| @@ -3103,12 +3104,14 @@ static void nv_set_multicast(struct net_device *dev) | |||
| 3103 | if (dev->flags & IFF_ALLMULTI) { | 3104 | if (dev->flags & IFF_ALLMULTI) { |
| 3104 | alwaysOn[0] = alwaysOn[1] = alwaysOff[0] = alwaysOff[1] = 0; | 3105 | alwaysOn[0] = alwaysOn[1] = alwaysOff[0] = alwaysOff[1] = 0; |
| 3105 | } else { | 3106 | } else { |
| 3106 | struct dev_mc_list *walk; | 3107 | struct netdev_hw_addr *ha; |
| 3107 | 3108 | ||
| 3108 | netdev_for_each_mc_addr(walk, dev) { | 3109 | netdev_for_each_mc_addr(ha, dev) { |
| 3110 | unsigned char *addr = ha->addr; | ||
| 3109 | u32 a, b; | 3111 | u32 a, b; |
| 3110 | a = le32_to_cpu(*(__le32 *) walk->dmi_addr); | 3112 | |
| 3111 | b = le16_to_cpu(*(__le16 *) (&walk->dmi_addr[4])); | 3113 | a = le32_to_cpu(*(__le32 *) addr); |
| 3114 | b = le16_to_cpu(*(__le16 *) (&addr[4])); | ||
| 3112 | alwaysOn[0] &= a; | 3115 | alwaysOn[0] &= a; |
| 3113 | alwaysOff[0] &= ~a; | 3116 | alwaysOff[0] &= ~a; |
| 3114 | alwaysOn[1] &= b; | 3117 | alwaysOn[1] &= b; |
| @@ -5898,7 +5901,7 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i | |||
| 5898 | /* Limit the number of tx's outstanding for hw bug */ | 5901 | /* Limit the number of tx's outstanding for hw bug */ |
| 5899 | if (id->driver_data & DEV_NEED_TX_LIMIT) { | 5902 | if (id->driver_data & DEV_NEED_TX_LIMIT) { |
| 5900 | np->tx_limit = 1; | 5903 | np->tx_limit = 1; |
| 5901 | if ((id->driver_data & DEV_NEED_TX_LIMIT2) && | 5904 | if (((id->driver_data & DEV_NEED_TX_LIMIT2) == DEV_NEED_TX_LIMIT2) && |
| 5902 | pci_dev->revision >= 0xA2) | 5905 | pci_dev->revision >= 0xA2) |
| 5903 | np->tx_limit = 0; | 5906 | np->tx_limit = 0; |
| 5904 | } | 5907 | } |
