vmxnet3: fix tx data ring copy for variable size
'Commit 3c8b3efc06
("vmxnet3: allow variable length transmit data ring
buffer")' changed the size of the buffers in the tx data ring from a
fixed size of 128 bytes to a variable size.
However, while copying data to the data ring, vmxnet3_copy_hdr continues
to carry the old code that assumes fixed buffer size of 128. This patch
fixes it by adding correct offset based on the actual data ring buffer
size.
Signed-off-by: Guolin Yang <gyang@vmware.com>
Signed-off-by: Shrikrishna Khare <skhare@vmware.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
c10ac75aee
Коммит
ff2e7d5d51
|
@ -914,7 +914,9 @@ vmxnet3_copy_hdr(struct sk_buff *skb, struct vmxnet3_tx_queue *tq,
|
|||
{
|
||||
struct Vmxnet3_TxDataDesc *tdd;
|
||||
|
||||
tdd = tq->data_ring.base + tq->tx_ring.next2fill;
|
||||
tdd = (struct Vmxnet3_TxDataDesc *)((u8 *)tq->data_ring.base +
|
||||
tq->tx_ring.next2fill *
|
||||
tq->txdata_desc_size);
|
||||
|
||||
memcpy(tdd->data, skb->data, ctx->copy_size);
|
||||
netdev_dbg(adapter->netdev,
|
||||
|
|
|
@ -69,10 +69,10 @@
|
|||
/*
|
||||
* Version numbers
|
||||
*/
|
||||
#define VMXNET3_DRIVER_VERSION_STRING "1.4.9.0-k"
|
||||
#define VMXNET3_DRIVER_VERSION_STRING "1.4.a.0-k"
|
||||
|
||||
/* a 32-bit int, each byte encode a verion number in VMXNET3_DRIVER_VERSION */
|
||||
#define VMXNET3_DRIVER_VERSION_NUM 0x01040900
|
||||
#define VMXNET3_DRIVER_VERSION_NUM 0x01040a00
|
||||
|
||||
#if defined(CONFIG_PCI_MSI)
|
||||
/* RSS only makes sense if MSI-X is supported. */
|
||||
|
|
Загрузка…
Ссылка в новой задаче