|
@@ -449,12 +449,15 @@ static void qeth_l2_process_inbound_buffer(struct qeth_card *card,
|
|
|
netif_rx(skb);
|
|
|
break;
|
|
|
case QETH_HEADER_TYPE_OSN:
|
|
|
- skb_push(skb, sizeof(struct qeth_hdr));
|
|
|
- skb_copy_to_linear_data(skb, hdr,
|
|
|
+ if (card->info.type == QETH_CARD_TYPE_OSN) {
|
|
|
+ skb_push(skb, sizeof(struct qeth_hdr));
|
|
|
+ skb_copy_to_linear_data(skb, hdr,
|
|
|
sizeof(struct qeth_hdr));
|
|
|
- len = skb->len;
|
|
|
- card->osn_info.data_cb(skb);
|
|
|
- break;
|
|
|
+ len = skb->len;
|
|
|
+ card->osn_info.data_cb(skb);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ /* else unknown */
|
|
|
default:
|
|
|
dev_kfree_skb_any(skb);
|
|
|
QETH_DBF_TEXT(TRACE, 3, "inbunkno");
|