aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/s390/net/qeth_l2_main.c13
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");