===================================================================
@@ -84,7 +84,7 @@ _func_enter_;
goto exit;
}
- pcmdpriv->cmd_buf = pcmdpriv->cmd_allocated_buf + CMDBUFF_ALIGN_SZ - ( (uint)(pcmdpriv->cmd_allocated_buf) & (CMDBUFF_ALIGN_SZ-1));
+ pcmdpriv->cmd_buf = pcmdpriv->cmd_allocated_buf + CMDBUFF_ALIGN_SZ - ((__kernel_size_t)(pcmdpriv->cmd_allocated_buf) & (CMDBUFF_ALIGN_SZ-1));
pcmdpriv->rsp_allocated_buf = _rtw_malloc(MAX_RSPSZ + 4);
@@ -93,7 +93,7 @@ _func_enter_;
goto exit;
}
- pcmdpriv->rsp_buf = pcmdpriv->rsp_allocated_buf + 4 - ( (uint)(pcmdpriv->rsp_allocated_buf) & 3);
+ pcmdpriv->rsp_buf = pcmdpriv->rsp_allocated_buf + 4 - ((__kernel_size_t)(pcmdpriv->rsp_allocated_buf) & 3);
pcmdpriv->cmd_issued_cnt = pcmdpriv->cmd_done_cnt = pcmdpriv->rsp_cnt = 0;
===================================================================
@@ -1029,7 +1029,7 @@ _func_enter_;
{
u8 ret;
u32 keyindex;
- u32 len = FIELD_OFFSET(NDIS_802_11_KEY, KeyMaterial) + key->KeyLength;
+ __kernel_size_t len = FIELD_OFFSET(NDIS_802_11_KEY, KeyMaterial) + key->KeyLength;
NDIS_802_11_WEP *wep = &padapter->securitypriv.ndiswep;
RT_TRACE(_module_rtl871x_ioctl_set_c_,_drv_err_,("OID_802_11_ADD_KEY: +++++ WEP key +++++\n"));
===================================================================
@@ -668,9 +668,9 @@ unsigned int OnAuthClient(_adapter *pada
offset = (GetPrivacy(pframe))? 4: 0;
- algthm = le16_to_cpu(*(unsigned short *)((unsigned int)pframe + WLAN_HDR_A3_LEN + offset));
- seq = le16_to_cpu(*(unsigned short *)((unsigned int)pframe + WLAN_HDR_A3_LEN + offset + 2));
- status = le16_to_cpu(*(unsigned short *)((unsigned int)pframe + WLAN_HDR_A3_LEN + offset + 4));
+ algthm = le16_to_cpu(*(unsigned short *)((__kernel_size_t)pframe + WLAN_HDR_A3_LEN + offset));
+ seq = le16_to_cpu(*(unsigned short *)((__kernel_size_t)pframe + WLAN_HDR_A3_LEN + offset + 2));
+ status = le16_to_cpu(*(unsigned short *)((__kernel_size_t)pframe + WLAN_HDR_A3_LEN + offset + 4));
if (status != 0)
{
===================================================================
@@ -91,7 +91,7 @@ _func_enter_;
_rtw_memset(precvpriv->pallocated_frame_buf, 0, NR_RECVFRAME * sizeof(union recv_frame) + RXFRAME_ALIGN_SZ);
precvpriv->precv_frame_buf = precvpriv->pallocated_frame_buf + RXFRAME_ALIGN_SZ -
- ((uint) (precvpriv->pallocated_frame_buf) &(RXFRAME_ALIGN_SZ-1));
+ ((__kernel_size_t) (precvpriv->pallocated_frame_buf) &(RXFRAME_ALIGN_SZ-1));
precvframe = (union recv_frame*) precvpriv->precv_frame_buf;
===================================================================
@@ -245,7 +245,7 @@ _func_enter_;
arcfour_encrypt(&mycontext, payload+length, crc, 4);
pframe+=pxmitpriv->frag_len;
- pframe=(u8 *)RND4((uint)(pframe));
+ pframe=(u8 *)RND4((__kernel_size_t)(pframe));
}
@@ -741,7 +741,7 @@ _func_enter_;
arcfour_encrypt(&mycontext, payload+length, crc, 4);
pframe+=pxmitpriv->frag_len;
- pframe=(u8 *)RND4((uint)(pframe));
+ pframe=(u8 *)RND4((__kernel_size_t)(pframe));
}
}
@@ -1557,7 +1557,7 @@ _func_enter_;
aes_cipher(prwskey,pattrib->hdrlen,pframe, length);
pframe+=pxmitpriv->frag_len;
- pframe=(u8*)RND4((uint)(pframe));
+ pframe=(u8*)RND4((__kernel_size_t)(pframe));
}
}
===================================================================
@@ -134,7 +134,7 @@ _func_enter_;
goto exit;
}
pxmitpriv->pxmit_frame_buf = pxmitpriv->pallocated_frame_buf + 4 -
- ((uint) (pxmitpriv->pallocated_frame_buf) &3);
+ ((__kernel_size_t) (pxmitpriv->pallocated_frame_buf) &3);
pxframe = (struct xmit_frame*) pxmitpriv->pxmit_frame_buf;
@@ -173,7 +173,7 @@ _func_enter_;
}
pxmitpriv->pxmitbuf = pxmitpriv->pallocated_xmitbuf + 4 -
- ((uint) (pxmitpriv->pallocated_xmitbuf) &3);
+ ((__kernel_size_t) (pxmitpriv->pallocated_xmitbuf) &3);
pxmitbuf = (struct xmit_buf*)pxmitpriv->pxmitbuf;
@@ -191,7 +191,7 @@ _func_enter_;
goto exit;
}
- pxmitbuf->pbuf = pxmitbuf->pallocated_buf + XMITBUF_ALIGN_SZ -((uint) (pxmitbuf->pallocated_buf) &(XMITBUF_ALIGN_SZ-1));
+ pxmitbuf->pbuf = pxmitbuf->pallocated_buf + XMITBUF_ALIGN_SZ -((__kernel_size_t) (pxmitbuf->pallocated_buf) &(XMITBUF_ALIGN_SZ-1));
rtw_os_xmit_resource_alloc(padapter, pxmitbuf);
@@ -843,7 +843,7 @@ _func_enter_;
payload=pframe;
for(curfragnum=0;curfragnum<pattrib->nr_frags;curfragnum++){
- payload=(u8 *)RND4((uint)(payload));
+ payload=(u8 *)RND4((__kernel_size_t)(payload));
RT_TRACE(_module_rtl871x_xmit_c_,_drv_err_,("===curfragnum=%d, pframe= 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x,!!!\n",
curfragnum,*payload, *(payload+1),*(payload+2),*(payload+3),*(payload+4),*(payload+5),*(payload+6),*(payload+7)));
@@ -1107,7 +1107,7 @@ s32 rtw_xmitframe_coalesce(_adapter *pad
s32 frg_inx, frg_len, mpdu_len, llc_sz, mem_sz;
- u32 addr;
+ __kernel_size_t addr;
u8 *pframe, *mem_start, *ptxdesc;
@@ -1282,7 +1282,7 @@ _func_enter_;
#endif
}
- addr = (uint)(pframe);
+ addr = (__kernel_size_t)(pframe);
mem_start = (unsigned char *)RND4(addr) + TXDESC_OFFSET;
_rtw_memcpy(mem_start, pbuf_start + TXDESC_OFFSET, pattrib->hdrlen);
===================================================================
@@ -65,7 +65,7 @@ int rtw_init_recv_priv(struct recv_priv
_rtw_memset(precvpriv->pallocated_recv_buf, 0, NR_RECVBUFF *sizeof(struct recv_buf) + 4);
precvpriv->precv_buf = precvpriv->pallocated_recv_buf + 4 -
- ((uint) (precvpriv->pallocated_recv_buf) &(4-1));
+ ((__kernel_size_t) (precvpriv->pallocated_recv_buf) &(4-1));
precvbuf = (struct recv_buf*)precvpriv->precv_buf;
@@ -148,7 +148,7 @@ int rtw_init_recv_priv(struct recv_priv
{
pskb->dev = padapter->pnetdev;
- tmpaddr = (u32)pskb->data;
+ tmpaddr = (__kernel_size_t)pskb->data;
alignment = tmpaddr & (RECVBUFF_ALIGN_SZ-1);
skb_reserve(pskb, (RECVBUFF_ALIGN_SZ - alignment));
===================================================================
@@ -1064,7 +1064,7 @@ void rtw_dump_xframe(_adapter *padapter,
mem_addr += w_sz;
- mem_addr = (u8 *)RND4(((uint)(mem_addr)));
+ mem_addr = (u8 *)RND4(((__kernel_size_t)(mem_addr)));
}
===================================================================
@@ -73,7 +73,7 @@ static int usbctrl_vendorreq(struct dvob
return(-1);
}
- pIo_buf = palloc_buf + 16 -((uint)(palloc_buf) & 0x0f );
+ pIo_buf = palloc_buf + 16 -((__kernel_size_t)(palloc_buf) & 0x0f );
if (requesttype == 0x01)
@@ -660,7 +660,7 @@ static int recvbuf2recvframe(_adapter *p
if(pkt_copy)
{
- tmpaddr = (u32)pkt_copy->data;
+ tmpaddr = (__kernel_size_t)pkt_copy->data;
alignment = tmpaddr & (3);
skb_reserve(pkt_copy, (4 - alignment));//force pkt_copy->data at 4-byte alignment address
@@ -744,7 +744,11 @@ void rtl8192cu_recv_tasklet(void *priv)
#ifdef CONFIG_PREALLOC_RECV_SKB
- pskb->tail = pskb->data;
+#ifdef NET_SKBUFF_DATA_USES_OFFSET
+ pskb->tail = (sk_buff_data_t)(pskb->data - pskb->head);
+#else
+ pskb->tail = (sk_buff_data_t)(pskb->data);
+#endif
pskb->len = 0;
skb_queue_tail(&precvpriv->free_recv_skb_queue, pskb);
@@ -909,14 +913,19 @@ _func_enter_;
return _FAIL;
}
- tmpaddr = (u32)precvbuf->pskb->data;
+ tmpaddr = (__kernel_size_t)precvbuf->pskb->data;
alignment = tmpaddr & (RECVBUFF_ALIGN_SZ-1);
skb_reserve(precvbuf->pskb, (RECVBUFF_ALIGN_SZ - alignment));
precvbuf->phead = precvbuf->pskb->head;
precvbuf->pdata = precvbuf->pskb->data;
+#ifdef NET_SKBUFF_DATA_USES_OFFSET
+ precvbuf->ptail = precvbuf->pskb->head + precvbuf->pskb->tail;
+ precvbuf->pend = precvbuf->pskb->head+precvbuf->pskb->end;
+#else
precvbuf->ptail = precvbuf->pskb->tail;
precvbuf->pend = precvbuf->pskb->end;
+#endif
precvbuf->pbuf = precvbuf->pskb->data;
}
@@ -924,10 +933,15 @@ _func_enter_;
{
precvbuf->phead = precvbuf->pskb->head;
precvbuf->pdata = precvbuf->pskb->data;
+#ifdef NET_SKBUFF_DATA_USES_OFFSET
+ precvbuf->ptail = precvbuf->pskb->head + precvbuf->pskb->tail;
+ precvbuf->pend = precvbuf->pskb->head+precvbuf->pskb->end;
+#else
precvbuf->ptail = precvbuf->pskb->tail;
precvbuf->pend = precvbuf->pskb->end;
+#endif
- precvbuf->pbuf = precvbuf->pskb->data;
+ precvbuf->pbuf = precvbuf->pskb->data;
precvbuf->reuse = _FALSE;
}
===================================================================
@@ -156,7 +156,7 @@ __inline static void _init_timer(_timer
{
//setup_timer(ptimer, pfunc,(u32)cntx);
ptimer->function = pfunc;
- ptimer->data = (u32)cntx;
+ ptimer->data = (__kernel_size_t)cntx;
init_timer(ptimer);
}
===================================================================
@@ -426,7 +426,7 @@ __inline static union recv_frame *rxmem_
//from any given member of recv_frame.
// rxmem indicates the any member/address in recv_frame
- return (union recv_frame*)(((uint)rxmem>>RXFRAME_ALIGN) <<RXFRAME_ALIGN) ;
+ return (union recv_frame*)(((__kernel_size_t)rxmem>>RXFRAME_ALIGN) <<RXFRAME_ALIGN) ;
}
===================================================================
@@ -270,29 +270,29 @@ enum WIFI_REG_DOMAIN {
*(unsigned short *)(pbuf) |= cpu_to_le16(type); \
} while(0)
-#define GetSequence(pbuf) (cpu_to_le16(*(unsigned short *)((unsigned int)(pbuf) + 22)) >> 4)
+#define GetSequence(pbuf) (cpu_to_le16(*(unsigned short *)((__kernel_size_t)(pbuf) + 22)) >> 4)
-#define GetFragNum(pbuf) (cpu_to_le16(*(unsigned short *)((unsigned int)(pbuf) + 22)) & 0x0f)
+#define GetFragNum(pbuf) (cpu_to_le16(*(unsigned short *)((__kernel_size_t)(pbuf) + 22)) & 0x0f)
-#define GetTupleCache(pbuf) (cpu_to_le16(*(unsigned short *)((unsigned int)(pbuf) + 22)))
+#define GetTupleCache(pbuf) (cpu_to_le16(*(unsigned short *)((__kernel_size_t)(pbuf) + 22)))
#define SetFragNum(pbuf, num) \
do { \
- *(unsigned short *)((unsigned int)(pbuf) + 22) = \
- ((*(unsigned short *)((unsigned int)(pbuf) + 22)) & le16_to_cpu(~(0x000f))) | \
+ *(unsigned short *)((__kernel_size_t)(pbuf) + 22) = \
+ ((*(unsigned short *)((__kernel_size_t)(pbuf) + 22)) & le16_to_cpu(~(0x000f))) | \
cpu_to_le16(0x0f & (num)); \
} while(0)
#define SetSeqNum(pbuf, num) \
do { \
- *(unsigned short *)((unsigned int)(pbuf) + 22) = \
- ((*(unsigned short *)((unsigned int)(pbuf) + 22)) & le16_to_cpu((unsigned short)~0xfff0)) | \
+ *(unsigned short *)((__kernel_size_t)(pbuf) + 22) = \
+ ((*(unsigned short *)((__kernel_size_t)(pbuf) + 22)) & le16_to_cpu((unsigned short)~0xfff0)) | \
le16_to_cpu((unsigned short)(0xfff0 & (num << 4))); \
} while(0)
#define SetDuration(pbuf, dur) \
do { \
- *(unsigned short *)((unsigned int)(pbuf) + 2) = cpu_to_le16(0xffff & (dur)); \
+ *(unsigned short *)((__kernel_size_t)(pbuf) + 2) = cpu_to_le16(0xffff & (dur)); \
} while(0)
@@ -317,17 +317,17 @@ enum WIFI_REG_DOMAIN {
*(unsigned short *)(pbuf) |= cpu_to_le16( (amsdu & 1) << 7); \
} while(0)
-#define GetAid(pbuf) (cpu_to_le16(*(unsigned short *)((unsigned int)(pbuf) + 2)) & 0x3fff)
+#define GetAid(pbuf) (cpu_to_le16(*(unsigned short *)((__kernel_size_t)(pbuf) + 2)) & 0x3fff)
-#define GetTid(pbuf) (cpu_to_le16(*(unsigned short *)((unsigned int)(pbuf) + (((GetToDs(pbuf)<<1)|GetFrDs(pbuf))==3?30:24))) & 0x000f)
+#define GetTid(pbuf) (cpu_to_le16(*(unsigned short *)((__kernel_size_t)(pbuf) + (((GetToDs(pbuf)<<1)|GetFrDs(pbuf))==3?30:24))) & 0x000f)
-#define GetAddr1Ptr(pbuf) ((unsigned char *)((unsigned int)(pbuf) + 4))
+#define GetAddr1Ptr(pbuf) ((unsigned char *)((__kernel_size_t)(pbuf) + 4))
-#define GetAddr2Ptr(pbuf) ((unsigned char *)((unsigned int)(pbuf) + 10))
+#define GetAddr2Ptr(pbuf) ((unsigned char *)((__kernel_size_t)(pbuf) + 10))
-#define GetAddr3Ptr(pbuf) ((unsigned char *)((unsigned int)(pbuf) + 16))
+#define GetAddr3Ptr(pbuf) ((unsigned char *)((__kernel_size_t)(pbuf) + 16))
-#define GetAddr4Ptr(pbuf) ((unsigned char *)((unsigned int)(pbuf) + 24))
+#define GetAddr4Ptr(pbuf) ((unsigned char *)((__kernel_size_t)(pbuf) + 24))
#define MacAddr_isBcst(addr) \
( \
===================================================================
@@ -53,7 +53,7 @@
#define CONFIG_AUTOSUSPEND 1
#define SUPPORT_HW_RFOFF_DETECTED 1
-
+#define CONFIG_SKB_COPY 1
#ifdef PLATFORM_LINUX
// #define CONFIG_PROC_DEBUG 1
===================================================================
@@ -79,7 +79,7 @@ _func_enter_;
return _FAIL;
pstapriv->pstainfo_buf = pstapriv->pallocated_stainfo_buf + 4 -
- ((unsigned int)(pstapriv->pallocated_stainfo_buf ) & 3);
+ ((__kernel_size_t)(pstapriv->pallocated_stainfo_buf ) & 3);
_rtw_init_queue(&pstapriv->free_sta_queue);
===================================================================
@@ -53,7 +53,7 @@
#define CONFIG_AUTOSUSPEND 1
#define SUPPORT_HW_RFOFF_DETECTED 1
-
+#define CONFIG_SKB_COPY 1
#ifdef PLATFORM_LINUX
// #define CONFIG_PROC_DEBUG 1
===================================================================
@@ -99,7 +99,7 @@
typedef void (*proc_t)(void*);
typedef __kernel_size_t SIZE_T;
- #define FIELD_OFFSET(s,field) ((int)&((s*)(0))->field)
+ #define FIELD_OFFSET(s,field) ((__kernel_size_t)&((s*)(0))->field)
#endif
===================================================================
@@ -224,7 +224,11 @@ _func_enter_;
RT_TRACE(_module_recv_osdep_c_,_drv_info_,("precv_frame->hdr.rx_tail=%p precv_frame->u.hdr.rx_end=%p precv_frame->hdr.len=%d \n", precv_frame->u.hdr.rx_tail, precv_frame->u.hdr.rx_end, precv_frame->u.hdr.len));
skb->data = precv_frame->u.hdr.rx_data;
- skb->tail = precv_frame->u.hdr.rx_tail;
+#ifdef NET_SKBUFF_DATA_USES_OFFSET
+ skb->tail = (sk_buff_data_t) (precv_frame->u.hdr.rx_tail-precv_frame->u.hdr.rx_head);
+#else
+ skb->tail = (sk_buff_data_t)(precv_frame->u.hdr.rx_tail);
+#endif
skb->len = precv_frame->u.hdr.len;
RT_TRACE(_module_recv_osdep_c_,_drv_info_,("\n skb->head=%p skb->data=%p skb->tail=%p skb->end=%p skb->len=%d\n", skb->head, skb->data, skb->tail, skb->end, skb->len));
===================================================================
@@ -40,7 +40,7 @@
uint rtw_remainder_len(struct pkt_file *pfile)
{
- return (pfile->buf_len - ((u32)(pfile->cur_addr) - (u32)(pfile->buf_start)));
+ return (pfile->buf_len - ((__kernel_size_t)(pfile->cur_addr) - (__kernel_size_t)(pfile->buf_start)));
}
void _rtw_open_pktfile (_pkt *pktptr, struct pkt_file *pfile)
===================================================================
@@ -289,7 +289,7 @@ void _rtw_rwlock_init(_rwlock *prwlock)
{
#ifdef PLATFORM_LINUX
- init_MUTEX(prwlock);
+ sema_init(prwlock, 1);
#endif
#ifdef PLATFORM_OS_XP
===================================================================
@@ -193,8 +193,13 @@ struct recv_buf{
uint len;
u8 *phead;
u8 *pdata;
+#ifdef NET_SKBUFF_DATA_USES_OFFSET
+ uint ptail;
+ uint ptail
+#else
u8 *ptail;
u8 *pend;
+#endif
u8 *pbuf;
u8 *pallocated_buf;