diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-08-27 20:38:07 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-08-27 20:38:07 -0400 |
| commit | b09331e530777963ed65ce2fdf074b7b077768c7 (patch) | |
| tree | 0354e5a7bb8ec3a7ae647b5ce71516f6a4979b05 /drivers/net/ibmveth.c | |
| parent | 4c246edd2550304df5b766cc841584b2bb058843 (diff) | |
| parent | d97240552cd98c4b07322f30f66fd9c3ba4171de (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (55 commits)
sctp: fix random memory dereference with SCTP_HMAC_IDENT option.
sctp: correct bounds check in sctp_setsockopt_auth_key
wan: Missing capability checks in sbni_ioctl()
e100, fix iomap read
qeth: preallocated header account offset
qeth: l2 write unicast list to hardware
qeth: use -EOPNOTSUPP instead of -ENOTSUPP.
ibm_newemac: Don't call dev_mc_add() before device is registered
net: don't grab a mutex within a timer context in gianfar
forcedeth: fix checksum flag
net/usb/mcs7830: add set_mac_address
net/usb/mcs7830: new device IDs
[netdrvr] smc91x: fix resource removal (null ptr deref)
ibmveth: fix bad UDP checksums
[netdrvr] hso: dev_kfree_skb crash fix
[netdrvr] hso: icon 322 detection fix
atl1: disable TSO by default
atl1e: multistatement if missing braces
igb: remove 82576 quad adapter
drivers/net/skfp/ess.c: fix compile warnings
...
Diffstat (limited to 'drivers/net/ibmveth.c')
| -rw-r--r-- | drivers/net/ibmveth.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c index a03fe1fb61ca..c2d57f836088 100644 --- a/drivers/net/ibmveth.c +++ b/drivers/net/ibmveth.c | |||
| @@ -904,8 +904,6 @@ static int ibmveth_start_xmit(struct sk_buff *skb, struct net_device *netdev) | |||
| 904 | unsigned long data_dma_addr; | 904 | unsigned long data_dma_addr; |
| 905 | 905 | ||
| 906 | desc.fields.flags_len = IBMVETH_BUF_VALID | skb->len; | 906 | desc.fields.flags_len = IBMVETH_BUF_VALID | skb->len; |
| 907 | data_dma_addr = dma_map_single(&adapter->vdev->dev, skb->data, | ||
| 908 | skb->len, DMA_TO_DEVICE); | ||
| 909 | 907 | ||
| 910 | if (skb->ip_summed == CHECKSUM_PARTIAL && | 908 | if (skb->ip_summed == CHECKSUM_PARTIAL && |
| 911 | ip_hdr(skb)->protocol != IPPROTO_TCP && skb_checksum_help(skb)) { | 909 | ip_hdr(skb)->protocol != IPPROTO_TCP && skb_checksum_help(skb)) { |
| @@ -924,6 +922,8 @@ static int ibmveth_start_xmit(struct sk_buff *skb, struct net_device *netdev) | |||
| 924 | buf[1] = 0; | 922 | buf[1] = 0; |
| 925 | } | 923 | } |
| 926 | 924 | ||
| 925 | data_dma_addr = dma_map_single(&adapter->vdev->dev, skb->data, | ||
| 926 | skb->len, DMA_TO_DEVICE); | ||
| 927 | if (dma_mapping_error(&adapter->vdev->dev, data_dma_addr)) { | 927 | if (dma_mapping_error(&adapter->vdev->dev, data_dma_addr)) { |
| 928 | if (!firmware_has_feature(FW_FEATURE_CMO)) | 928 | if (!firmware_has_feature(FW_FEATURE_CMO)) |
| 929 | ibmveth_error_printk("tx: unable to map xmit buffer\n"); | 929 | ibmveth_error_printk("tx: unable to map xmit buffer\n"); |
| @@ -932,6 +932,7 @@ static int ibmveth_start_xmit(struct sk_buff *skb, struct net_device *netdev) | |||
| 932 | desc.fields.address = adapter->bounce_buffer_dma; | 932 | desc.fields.address = adapter->bounce_buffer_dma; |
| 933 | tx_map_failed++; | 933 | tx_map_failed++; |
| 934 | used_bounce = 1; | 934 | used_bounce = 1; |
| 935 | wmb(); | ||
| 935 | } else | 936 | } else |
| 936 | desc.fields.address = data_dma_addr; | 937 | desc.fields.address = data_dma_addr; |
| 937 | 938 | ||
