|
@@ -2867,7 +2867,7 @@ static int qeth_l3_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
|
*/
|
|
|
if ((card->info.type != QETH_CARD_TYPE_IQD) &&
|
|
|
((use_tso && !qeth_l3_get_elements_no_tso(card, new_skb, 1)) ||
|
|
|
- (!use_tso && !qeth_get_elements_no(card, new_skb, 0)))) {
|
|
|
+ (!use_tso && !qeth_get_elements_no(card, new_skb, 0, 0)))) {
|
|
|
int lin_rc = skb_linearize(new_skb);
|
|
|
|
|
|
if (card->options.performance_stats) {
|
|
@@ -2909,7 +2909,8 @@ static int qeth_l3_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
|
|
|
|
elements = use_tso ?
|
|
|
qeth_l3_get_elements_no_tso(card, new_skb, hdr_elements) :
|
|
|
- qeth_get_elements_no(card, new_skb, hdr_elements);
|
|
|
+ qeth_get_elements_no(card, new_skb, hdr_elements,
|
|
|
+ (data_offset > 0) ? data_offset : 0);
|
|
|
if (!elements) {
|
|
|
if (data_offset >= 0)
|
|
|
kmem_cache_free(qeth_core_header_cache, hdr);
|