diff options
-rw-r--r-- | drivers/s390/net/qeth_l2_main.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c index fdf4ffa2e714..1b1e80336d2c 100644 --- a/drivers/s390/net/qeth_l2_main.c +++ b/drivers/s390/net/qeth_l2_main.c | |||
@@ -449,12 +449,15 @@ static void qeth_l2_process_inbound_buffer(struct qeth_card *card, | |||
449 | netif_rx(skb); | 449 | netif_rx(skb); |
450 | break; | 450 | break; |
451 | case QETH_HEADER_TYPE_OSN: | 451 | case QETH_HEADER_TYPE_OSN: |
452 | skb_push(skb, sizeof(struct qeth_hdr)); | 452 | if (card->info.type == QETH_CARD_TYPE_OSN) { |
453 | skb_copy_to_linear_data(skb, hdr, | 453 | skb_push(skb, sizeof(struct qeth_hdr)); |
454 | skb_copy_to_linear_data(skb, hdr, | ||
454 | sizeof(struct qeth_hdr)); | 455 | sizeof(struct qeth_hdr)); |
455 | len = skb->len; | 456 | len = skb->len; |
456 | card->osn_info.data_cb(skb); | 457 | card->osn_info.data_cb(skb); |
457 | break; | 458 | break; |
459 | } | ||
460 | /* else unknown */ | ||
458 | default: | 461 | default: |
459 | dev_kfree_skb_any(skb); | 462 | dev_kfree_skb_any(skb); |
460 | QETH_DBF_TEXT(TRACE, 3, "inbunkno"); | 463 | QETH_DBF_TEXT(TRACE, 3, "inbunkno"); |