|
Line
Link Here
|
|
This patch fixes the direct manipulation of skb->tail by the rt2860 driver. |
|
This patch fixes the direct manipulation of skb->tail by the rt2860 driver. |
| 1 |
-- |
|
|
| 2 |
drivers/staging/rt2860/common/ba_action.c | 4 +++- |
1 |
drivers/staging/rt2860/common/ba_action.c | 4 +++- |
| 3 |
drivers/staging/rt2860/rt_linux.c | 9 ++++++--- |
2 |
drivers/staging/rt2860/rt_linux.c | 9 ++++++--- |
| 4 |
drivers/staging/rt2860/rt_linux.h | 2 +- |
3 |
drivers/staging/rt2860/rt_linux.h | 2 +- |
| 5 |
3 files changed, 10 insertions(+), 5 deletions(-) |
4 |
3 files changed, 10 insertions(+), 5 deletions(-) |
| 6 |
-- a/drivers/staging/rt2860/common/ba_action.c |
5 |
++ b/drivers/staging/rt2860/common/ba_action.c |
|
Lines 1506-1513
void convert_reordering_packet_to_preAMS
Link Here
|
| 1506 |
|
1506 |
|
| 1507 |
RTPKT_TO_OSPKT(pRxPkt)->dev = get_netdev_from_bssid(pAd, FromWhichBSSID); |
1507 |
RTPKT_TO_OSPKT(pRxPkt)->dev = get_netdev_from_bssid(pAd, FromWhichBSSID); |
| 1508 |
RTPKT_TO_OSPKT(pRxPkt)->data = pRxBlk->pData; |
1508 |
RTPKT_TO_OSPKT(pRxPkt)->data = pRxBlk->pData; |
|
|
1509 |
RTPKT_TO_OSPKT(pRxPkt)->head = RTPKT_TO_OSPKT(pRxPkt)->data; |
| 1509 |
RTPKT_TO_OSPKT(pRxPkt)->len = pRxBlk->DataSize; |
1510 |
RTPKT_TO_OSPKT(pRxPkt)->len = pRxBlk->DataSize; |
| 1510 |
RTPKT_TO_OSPKT(pRxPkt)->tail = RTPKT_TO_OSPKT(pRxPkt)->data + RTPKT_TO_OSPKT(pRxPkt)->len; |
1511 |
skb_set_tail_pointer(RTPKT_TO_OSPKT(pRxPkt), |
|
|
1512 |
RTPKT_TO_OSPKT(pRxPkt)->len); |
| 1511 |
|
1513 |
|
| 1512 |
// |
1514 |
// |
| 1513 |
// copy 802.3 header, if necessary |
1515 |
// copy 802.3 header, if necessary |
| 1514 |
-- a/drivers/staging/rt2860/rt_linux.c |
1516 |
++ b/drivers/staging/rt2860/rt_linux.c |
|
Lines 598-605
PNDIS_PACKET ClonePacket(
Link Here
|
| 598 |
// set the correct dataptr and data len |
598 |
// set the correct dataptr and data len |
| 599 |
pClonedPkt->dev = pRxPkt->dev; |
599 |
pClonedPkt->dev = pRxPkt->dev; |
| 600 |
pClonedPkt->data = pData; |
600 |
pClonedPkt->data = pData; |
|
|
601 |
pClonedPkt->head = pClonedPkt->data; |
| 601 |
pClonedPkt->len = DataSize; |
602 |
pClonedPkt->len = DataSize; |
| 602 |
pClonedPkt->tail = pClonedPkt->data + pClonedPkt->len; |
603 |
skb_set_tail_pointer(pClonedPkt, pClonedPkt->len); |
| 603 |
ASSERT(DataSize < 1530); |
604 |
ASSERT(DataSize < 1530); |
| 604 |
} |
605 |
} |
| 605 |
return pClonedPkt; |
606 |
return pClonedPkt; |
|
Lines 620-627
void update_os_packet_info(
Link Here
|
| 620 |
|
621 |
|
| 621 |
pOSPkt->dev = get_netdev_from_bssid(pAd, FromWhichBSSID); |
622 |
pOSPkt->dev = get_netdev_from_bssid(pAd, FromWhichBSSID); |
| 622 |
pOSPkt->data = pRxBlk->pData; |
623 |
pOSPkt->data = pRxBlk->pData; |
|
|
624 |
pOSPkt->head = pOSPkt->data; |
| 623 |
pOSPkt->len = pRxBlk->DataSize; |
625 |
pOSPkt->len = pRxBlk->DataSize; |
| 624 |
pOSPkt->tail = pOSPkt->data + pOSPkt->len; |
626 |
skb_set_tail_pointer(pOSPkt, pOSPkt->len); |
| 625 |
} |
627 |
} |
| 626 |
|
628 |
|
| 627 |
|
629 |
|
|
Lines 640-647
void wlan_802_11_to_802_3_packet(
Link Here
|
| 640 |
|
642 |
|
| 641 |
pOSPkt->dev = get_netdev_from_bssid(pAd, FromWhichBSSID); |
643 |
pOSPkt->dev = get_netdev_from_bssid(pAd, FromWhichBSSID); |
| 642 |
pOSPkt->data = pRxBlk->pData; |
644 |
pOSPkt->data = pRxBlk->pData; |
|
|
645 |
pOSPkt->head = pOSPkt->data; |
| 643 |
pOSPkt->len = pRxBlk->DataSize; |
646 |
pOSPkt->len = pRxBlk->DataSize; |
| 644 |
pOSPkt->tail = pOSPkt->data + pOSPkt->len; |
647 |
skb_set_tail_pointer(pOSPkt, pOSPkt->len); |
| 645 |
|
648 |
|
| 646 |
// |
649 |
// |
| 647 |
// copy 802.3 header |
650 |
// copy 802.3 header |
| 648 |
-- a/drivers/staging/rt2860/rt_linux.h |
651 |
++ b/drivers/staging/rt2860/rt_linux.h |
|
Lines 609-615
void RTMP_GetCurrentSystemTime(LARGE_INT
Link Here
|
| 609 |
(RTPKT_TO_OSPKT(_pkt)->len) |
609 |
(RTPKT_TO_OSPKT(_pkt)->len) |
| 610 |
|
610 |
|
| 611 |
#define GET_OS_PKT_DATATAIL(_pkt) \ |
611 |
#define GET_OS_PKT_DATATAIL(_pkt) \ |
| 612 |
(RTPKT_TO_OSPKT(_pkt)->tail) |
612 |
(skb_tail_pointer(RTPKT_TO_OSPKT(_pkt))) |
| 613 |
|
613 |
|
| 614 |
#define GET_OS_PKT_HEAD(_pkt) \ |
614 |
#define GET_OS_PKT_HEAD(_pkt) \ |
| 615 |
(RTPKT_TO_OSPKT(_pkt)->head) |
615 |
(RTPKT_TO_OSPKT(_pkt)->head) |