diff options
author | David S. Miller <davem@davemloft.net> | 2014-12-09 13:15:51 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-12-09 13:15:51 -0500 |
commit | 6000df00fd440b38cf41d435c3790e9cc12b447f (patch) | |
tree | a017e63d3e95fee8ad1d98ead741305fcbac07e1 | |
parent | a5a519b2710be43fce3cf9ce7bd8de8db3f2a9de (diff) | |
parent | c153031773887fca473d25a2854cc37bd946c010 (diff) | |
download | linux-6000df00fd440b38cf41d435c3790e9cc12b447f.tar.gz linux-6000df00fd440b38cf41d435c3790e9cc12b447f.tar.bz2 linux-6000df00fd440b38cf41d435c3790e9cc12b447f.zip |
Merge branch 'amd-xgbe'
Tom Lendacky says:
====================
amd-xgbe: AMD XGBE driver fixes 2014-12-02
The following series of patches includes two bug fixes. Unfortunately,
the first patch will create a conflict when eventually merged into
net-next but should be very easy to resolve.
- Do not clear the interrupt bit in the xgbe_ring_data structure
- Associate a Tx SKB with the proper xgbe_ring_data structure
This patch series is based on net.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/amd/xgbe/xgbe-desc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-desc.c b/drivers/net/ethernet/amd/xgbe/xgbe-desc.c index 6fc5da01437d..b15551bad7fa 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-desc.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-desc.c @@ -356,7 +356,6 @@ static void xgbe_unmap_skb(struct xgbe_prv_data *pdata, rdata->tso_header = 0; rdata->len = 0; - rdata->interrupt = 0; rdata->mapped_as_page = 0; if (rdata->state_saved) { @@ -481,7 +480,11 @@ static int xgbe_map_tx_skb(struct xgbe_channel *channel, struct sk_buff *skb) } } - /* Save the skb address in the last entry */ + /* Save the skb address in the last entry. We always have some data + * that has been mapped so rdata is always advanced past the last + * piece of mapped data - use the entry pointed to by cur_index - 1. + */ + rdata = XGBE_GET_DESC_DATA(ring, cur_index - 1); rdata->skb = skb; /* Save the number of descriptor entries used */ |