*************************************************************************
*/
+#include <linux/firmware.h>
#include <linux/sched.h>
+#include <linux/slab.h>
#include "rt_config.h"
unsigned long RTDebugLevel = RT_DEBUG_ERROR;
"connects with our wireless client", /* IW_STA_LINKUP_EVENT_FLAG */
"disconnects with our wireless client", /* IW_STA_LINKDOWN_EVENT_FLAG */
"scan completed" /* IW_SCAN_COMPLETED_EVENT_FLAG */
- "scan terminate!! Busy!! Enqueue fail!!" /* IW_SCAN_ENQUEUE_FAIL_EVENT_FLAG */
+ "scan terminate! Busy! Enqueue fail!" /* IW_SCAN_ENQUEUE_FAIL_EVENT_FLAG */
};
/* for wireless IDS_spoof_attack event message */
};
/* timeout -- ms */
-void RTMP_SetPeriodicTimer(struct timer_list * pTimer,
+void RTMP_SetPeriodicTimer(struct timer_list *pTimer,
IN unsigned long timeout)
{
timeout = ((timeout * OS_HZ) / 1000);
}
/* convert NdisMInitializeTimer --> RTMP_OS_Init_Timer */
-void RTMP_OS_Init_Timer(IN PRTMP_ADAPTER pAd,
- struct timer_list * pTimer,
+void RTMP_OS_Init_Timer(struct rt_rtmp_adapter *pAd,
+ struct timer_list *pTimer,
IN TIMER_FUNCTION function, void *data)
{
init_timer(pTimer);
pTimer->function = function;
}
-void RTMP_OS_Add_Timer(struct timer_list * pTimer,
+void RTMP_OS_Add_Timer(struct timer_list *pTimer,
IN unsigned long timeout)
{
if (timer_pending(pTimer))
add_timer(pTimer);
}
-void RTMP_OS_Mod_Timer(struct timer_list * pTimer,
+void RTMP_OS_Mod_Timer(struct timer_list *pTimer,
IN unsigned long timeout)
{
timeout = ((timeout * OS_HZ) / 1000);
mod_timer(pTimer, jiffies + timeout);
}
-void RTMP_OS_Del_Timer(struct timer_list * pTimer,
+void RTMP_OS_Del_Timer(struct timer_list *pTimer,
OUT BOOLEAN * pCancelled)
{
if (timer_pending(pTimer)) {
}
-void RTMP_OS_Release_Packet(IN PRTMP_ADAPTER pAd, IN PQUEUE_ENTRY pEntry)
+void RTMP_OS_Release_Packet(struct rt_rtmp_adapter *pAd, struct rt_queue_entry *pEntry)
{
/*RTMPFreeNdisPacket(pAd, (struct sk_buff *)pEntry); */
}
udelay(usec % 50);
}
-void RTMP_GetCurrentSystemTime(LARGE_INTEGER * time)
+void RTMP_GetCurrentSystemTime(LARGE_INTEGER *time)
{
time->u.LowPart = jiffies;
}
/* pAd MUST allow to be NULL */
-int os_alloc_mem(IN RTMP_ADAPTER * pAd, u8 ** mem, unsigned long size)
+int os_alloc_mem(struct rt_rtmp_adapter *pAd, u8 ** mem, unsigned long size)
{
- *mem = (u8 *)kmalloc(size, GFP_ATOMIC);
+ *mem = kmalloc(size, GFP_ATOMIC);
if (*mem)
- return (NDIS_STATUS_SUCCESS);
+ return NDIS_STATUS_SUCCESS;
else
- return (NDIS_STATUS_FAILURE);
+ return NDIS_STATUS_FAILURE;
}
/* pAd MUST allow to be NULL */
-int os_free_mem(IN PRTMP_ADAPTER pAd, void *mem)
+int os_free_mem(struct rt_rtmp_adapter *pAd, void *mem)
{
ASSERT(mem);
kfree(mem);
- return (NDIS_STATUS_SUCCESS);
+ return NDIS_STATUS_SUCCESS;
}
-void *RtmpOSNetPktAlloc(IN RTMP_ADAPTER * pAd, IN int size)
+void *RtmpOSNetPktAlloc(struct rt_rtmp_adapter *pAd, IN int size)
{
struct sk_buff *skb;
/* Add 2 more bytes for ip header alignment */
skb = dev_alloc_skb(size + 2);
- return ((void *)skb);
+ return (void *)skb;
}
-void *RTMP_AllocateFragPacketBuffer(IN PRTMP_ADAPTER pAd,
+void *RTMP_AllocateFragPacketBuffer(struct rt_rtmp_adapter *pAd,
unsigned long Length)
{
struct sk_buff *pkt;
return (void *)pkt;
}
-void *RTMP_AllocateTxPacketBuffer(IN PRTMP_ADAPTER pAd,
+void *RTMP_AllocateTxPacketBuffer(struct rt_rtmp_adapter *pAd,
unsigned long Length,
IN BOOLEAN Cached,
- void ** VirtualAddress)
+ void **VirtualAddress)
{
struct sk_buff *pkt;
return (void *)pkt;
}
-void build_tx_packet(IN PRTMP_ADAPTER pAd,
+void build_tx_packet(struct rt_rtmp_adapter *pAd,
void *pPacket,
u8 *pFrame, unsigned long FrameLen)
{
NdisMoveMemory(skb_put(pTxPkt, FrameLen), pFrame, FrameLen);
}
-void RTMPFreeAdapter(IN PRTMP_ADAPTER pAd)
+void RTMPFreeAdapter(struct rt_rtmp_adapter *pAd)
{
struct os_cookie *os_cookie;
int index;
NdisFreeSpinLock(&pAd->irq_lock);
- vfree(pAd); /* pci_free_consistent(os_cookie->pci_dev,sizeof(RTMP_ADAPTER),pAd,os_cookie->pAd_pa); */
+ release_firmware(pAd->firmware);
+
+ vfree(pAd); /* pci_free_consistent(os_cookie->pci_dev,sizeof(struct rt_rtmp_adapter),pAd,os_cookie->pAd_pa); */
if (os_cookie)
kfree(os_cookie);
}
BOOLEAN OS_Need_Clone_Packet(void)
{
- return (FALSE);
+ return FALSE;
}
/*
========================================================================
*/
-int RTMPCloneNdisPacket(IN PRTMP_ADAPTER pAd,
+int RTMPCloneNdisPacket(struct rt_rtmp_adapter *pAd,
IN BOOLEAN pInsAMSDUHdr,
void *pInPacket,
- void ** ppOutPacket)
+ void **ppOutPacket)
{
struct sk_buff *pkt;
}
/* the allocated NDIS PACKET must be freed via RTMPFreeNdisPacket() */
-int RTMPAllocateNdisPacket(IN PRTMP_ADAPTER pAd,
- void ** ppPacket,
+int RTMPAllocateNdisPacket(struct rt_rtmp_adapter *pAd,
+ void **ppPacket,
u8 *pHeader,
u32 HeaderLen,
u8 *pData, u32 DataLen)
if (pPacket == NULL) {
*ppPacket = NULL;
#ifdef DEBUG
- printk("RTMPAllocateNdisPacket Fail\n\n");
+ printk("RTMPAllocateNdisPacket Fail\n");
#endif
return NDIS_STATUS_FAILURE;
}
corresponding NDIS_BUFFER and allocated memory.
========================================================================
*/
-void RTMPFreeNdisPacket(IN PRTMP_ADAPTER pAd, void *pPacket)
+void RTMPFreeNdisPacket(struct rt_rtmp_adapter *pAd, void *pPacket)
{
dev_kfree_skb_any(RTPKT_TO_OSPKT(pPacket));
}
}
void RTMP_QueryPacketInfo(void *pPacket,
- OUT PACKET_INFO * pPacketInfo,
- u8 ** pSrcBufVA, u32 * pSrcBufLen)
+ struct rt_packet_info *pPacketInfo,
+ u8 **pSrcBufVA, u32 * pSrcBufLen)
{
pPacketInfo->BufferCount = 1;
pPacketInfo->pFirstBuffer = (char *)GET_OS_PKT_DATAPTR(pPacket);
*pSrcBufLen = GET_OS_PKT_LEN(pPacket);
}
-void RTMP_QueryNextPacketInfo(void ** ppPacket,
- OUT PACKET_INFO * pPacketInfo,
- u8 ** pSrcBufVA, u32 * pSrcBufLen)
+void RTMP_QueryNextPacketInfo(void **ppPacket,
+ struct rt_packet_info *pPacketInfo,
+ u8 **pSrcBufVA, u32 * pSrcBufLen)
{
void *pPacket = NULL;
}
}
-void *DuplicatePacket(IN PRTMP_ADAPTER pAd,
+void *DuplicatePacket(struct rt_rtmp_adapter *pAd,
void *pPacket, u8 FromWhichBSSID)
{
struct sk_buff *skb;
}
-void *duplicate_pkt(IN PRTMP_ADAPTER pAd,
+void *duplicate_pkt(struct rt_rtmp_adapter *pAd,
u8 *pHeader802_3,
u32 HdrLen,
u8 *pData,
struct sk_buff *skb;
void *pPacket = NULL;
- if ((skb =
- __dev_alloc_skb(HdrLen + DataSize + 2, MEM_ALLOC_FLAG)) != NULL) {
+ skb = __dev_alloc_skb(HdrLen + DataSize + 2, MEM_ALLOC_FLAG);
+ if (skb != NULL) {
skb_reserve(skb, 2);
- NdisMoveMemory(skb->tail, pHeader802_3, HdrLen);
+ NdisMoveMemory(skb_tail_pointer(skb), pHeader802_3, HdrLen);
skb_put(skb, HdrLen);
- NdisMoveMemory(skb->tail, pData, DataSize);
+ NdisMoveMemory(skb_tail_pointer(skb), pData, DataSize);
skb_put(skb, DataSize);
skb->dev = get_netdev_from_bssid(pAd, FromWhichBSSID);
pPacket = OSPKT_TO_RTPKT(skb);
}
#define TKIP_TX_MIC_SIZE 8
-void *duplicate_pkt_with_TKIP_MIC(IN PRTMP_ADAPTER pAd,
+void *duplicate_pkt_with_TKIP_MIC(struct rt_rtmp_adapter *pAd,
void *pPacket)
{
struct sk_buff *skb, *newskb;
return OSPKT_TO_RTPKT(skb);
}
-void *ClonePacket(IN PRTMP_ADAPTER pAd,
+void *ClonePacket(struct rt_rtmp_adapter *pAd,
void *pPacket,
u8 *pData, unsigned long DataSize)
{
pClonedPkt->dev = pRxPkt->dev;
pClonedPkt->data = pData;
pClonedPkt->len = DataSize;
- pClonedPkt->tail = pClonedPkt->data + pClonedPkt->len;
+ skb_set_tail_pointer(pClonedPkt, DataSize)
ASSERT(DataSize < 1530);
}
return pClonedPkt;
/* */
/* change OS packet DataPtr and DataLen */
/* */
-void update_os_packet_info(IN PRTMP_ADAPTER pAd,
- IN RX_BLK * pRxBlk, u8 FromWhichBSSID)
+void update_os_packet_info(struct rt_rtmp_adapter *pAd,
+ struct rt_rx_blk *pRxBlk, u8 FromWhichBSSID)
{
struct sk_buff *pOSPkt;
pOSPkt->dev = get_netdev_from_bssid(pAd, FromWhichBSSID);
pOSPkt->data = pRxBlk->pData;
pOSPkt->len = pRxBlk->DataSize;
- pOSPkt->tail = pOSPkt->data + pOSPkt->len;
+ skb_set_tail_pointer(pOSPkt, pOSPkt->len);
}
-void wlan_802_11_to_802_3_packet(IN PRTMP_ADAPTER pAd,
- IN RX_BLK * pRxBlk,
+void wlan_802_11_to_802_3_packet(struct rt_rtmp_adapter *pAd,
+ struct rt_rx_blk *pRxBlk,
u8 *pHeader802_3,
u8 FromWhichBSSID)
{
pOSPkt->dev = get_netdev_from_bssid(pAd, FromWhichBSSID);
pOSPkt->data = pRxBlk->pData;
pOSPkt->len = pRxBlk->DataSize;
- pOSPkt->tail = pOSPkt->data + pOSPkt->len;
+ skb_set_tail_pointer(pOSPkt, pOSPkt->len);
/* */
/* copy 802.3 header */
LENGTH_802_3);
}
-void announce_802_3_packet(IN PRTMP_ADAPTER pAd, void *pPacket)
+void announce_802_3_packet(struct rt_rtmp_adapter *pAd, void *pPacket)
{
struct sk_buff *pRxPkt;
netif_rx(pRxPkt);
}
-PRTMP_SCATTER_GATHER_LIST
-rt_get_sg_list_from_packet(void *pPacket, RTMP_SCATTER_GATHER_LIST * sg)
+struct rt_rtmp_sg_list *
+rt_get_sg_list_from_packet(void *pPacket, struct rt_rtmp_sg_list *sg)
{
sg->NumberOfElements = 1;
sg->Elements[0].Address = GET_OS_PKT_DATAPTR(pPacket);
sg->Elements[0].Length = GET_OS_PKT_LEN(pPacket);
- return (sg);
+ return sg;
}
void hex_dump(char *str, unsigned char *pSrcBufVA, unsigned int SrcBufLen)
========================================================================
*/
-void RTMPSendWirelessEvent(IN PRTMP_ADAPTER pAd,
+void RTMPSendWirelessEvent(struct rt_rtmp_adapter *pAd,
u16 Event_flag,
u8 *pAddr, u8 BssIdx, char Rssi)
{
return;
}
/*Allocate memory and copy the msg. */
- if ((pBuf = kmalloc(IW_CUSTOM_MAX_LEN, GFP_ATOMIC)) != NULL) {
+ pBuf = kmalloc(IW_CUSTOM_MAX_LEN, GFP_ATOMIC);
+ if (pBuf != NULL) {
/*Prepare the payload */
memset(pBuf, 0, IW_CUSTOM_MAX_LEN);
__func__));
}
-void send_monitor_packets(IN PRTMP_ADAPTER pAd, IN RX_BLK * pRxBlk)
+void send_monitor_packets(struct rt_rtmp_adapter *pAd, struct rt_rx_blk *pRxBlk)
{
struct sk_buff *pOSPkt;
- wlan_ng_prism2_header *ph;
+ struct rt_wlan_ng_prism2_header *ph;
int rate_index = 0;
u16 header_len = 0;
u8 temp_header[40] = { 0 };
goto err_free_sk_buff;
}
- if (pRxBlk->DataSize + sizeof(wlan_ng_prism2_header) >
+ if (pRxBlk->DataSize + sizeof(struct rt_wlan_ng_prism2_header) >
RX_BUFFER_AGGRESIZE) {
DBGPRINT(RT_DEBUG_ERROR,
("%s : Size is too large! (%zu)\n", __func__,
- pRxBlk->DataSize + sizeof(wlan_ng_prism2_header)));
+ pRxBlk->DataSize + sizeof(struct rt_wlan_ng_prism2_header)));
goto err_free_sk_buff;
}
skb_pull(pOSPkt, (pRxBlk->pData - pOSPkt->data));
} /*end if */
- if (skb_headroom(pOSPkt) < (sizeof(wlan_ng_prism2_header) + header_len)) {
+ if (skb_headroom(pOSPkt) < (sizeof(struct rt_wlan_ng_prism2_header) + header_len)) {
if (pskb_expand_head
- (pOSPkt, (sizeof(wlan_ng_prism2_header) + header_len), 0,
+ (pOSPkt, (sizeof(struct rt_wlan_ng_prism2_header) + header_len), 0,
GFP_ATOMIC)) {
DBGPRINT(RT_DEBUG_ERROR,
("%s : Reallocate header size of sk_buff fail!\n",
NdisMoveMemory(skb_push(pOSPkt, header_len), temp_header,
header_len);
- ph = (wlan_ng_prism2_header *) skb_push(pOSPkt,
- sizeof(wlan_ng_prism2_header));
- NdisZeroMemory(ph, sizeof(wlan_ng_prism2_header));
+ ph = (struct rt_wlan_ng_prism2_header *)skb_push(pOSPkt,
+ sizeof(struct rt_wlan_ng_prism2_header));
+ NdisZeroMemory(ph, sizeof(struct rt_wlan_ng_prism2_header));
ph->msgcode = DIDmsg_lnxind_wlansniffrm;
- ph->msglen = sizeof(wlan_ng_prism2_header);
+ ph->msglen = sizeof(struct rt_wlan_ng_prism2_header);
strcpy((char *)ph->devname, (char *)pAd->net_dev->name);
ph->hosttime.did = DIDmsg_lnxind_wlansniffrm_hosttime;
{
#ifdef RTMP_PCI_SUPPORT
struct net_device *net_dev = pNetDev;
- PRTMP_ADAPTER pAd = NULL;
+ struct rt_rtmp_adapter *pAd = NULL;
int retval = 0;
GET_PAD_FROM_NET_DEV(pAd, pNetDev);
int RtmpOSIRQRelease(struct net_device *pNetDev)
{
struct net_device *net_dev = pNetDev;
- PRTMP_ADAPTER pAd = NULL;
+ struct rt_rtmp_adapter *pAd = NULL;
GET_PAD_FROM_NET_DEV(pAd, net_dev);
Task create/management/kill related functions.
*******************************************************************************/
-int RtmpOSTaskKill(IN RTMP_OS_TASK * pTask)
+int RtmpOSTaskKill(struct rt_rtmp_os_task *pTask)
{
- RTMP_ADAPTER *pAd;
+ struct rt_rtmp_adapter *pAd;
int ret = NDIS_STATUS_FAILURE;
- pAd = (RTMP_ADAPTER *) pTask->priv;
+ pAd = (struct rt_rtmp_adapter *)pTask->priv;
#ifdef KTHREAD_SUPPORT
if (pTask->kthread_task) {
}
-int RtmpOSTaskNotifyToExit(IN RTMP_OS_TASK * pTask)
+int RtmpOSTaskNotifyToExit(struct rt_rtmp_os_task *pTask)
{
#ifndef KTHREAD_SUPPORT
return 0;
}
-void RtmpOSTaskCustomize(IN RTMP_OS_TASK * pTask)
+void RtmpOSTaskCustomize(struct rt_rtmp_os_task *pTask)
{
#ifndef KTHREAD_SUPPORT
- daemonize((char *)& pTask->taskName[0] /*"%s",pAd->net_dev->name */ );
+ daemonize((char *)&pTask->taskName[0] /*"%s",pAd->net_dev->name */);
allow_signal(SIGTERM);
allow_signal(SIGKILL);
#endif
}
-int RtmpOSTaskAttach(IN RTMP_OS_TASK * pTask,
+int RtmpOSTaskAttach(struct rt_rtmp_os_task *pTask,
IN int (*fn) (void *), IN void *arg)
{
int status = NDIS_STATUS_SUCCESS;
return status;
}
-int RtmpOSTaskInit(IN RTMP_OS_TASK * pTask,
+int RtmpOSTaskInit(struct rt_rtmp_os_task *pTask,
char *pTaskName, void * pPriv)
{
int len;
ASSERT(pTask);
#ifndef KTHREAD_SUPPORT
- NdisZeroMemory((u8 *)(pTask), sizeof(RTMP_OS_TASK));
+ NdisZeroMemory((u8 *)(pTask), sizeof(struct rt_rtmp_os_task));
#endif
len = strlen(pTaskName);
return NDIS_STATUS_SUCCESS;
}
-void RTMP_IndicateMediaState(IN PRTMP_ADAPTER pAd)
+void RTMP_IndicateMediaState(struct rt_rtmp_adapter *pAd)
{
if (pAd->CommonCfg.bWirelessEvent) {
if (pAd->IndicateMediaState == NdisMediaStateConnected) {
}
}
-int RtmpOSWrielessEventSend(IN RTMP_ADAPTER * pAd,
+int RtmpOSWrielessEventSend(struct rt_rtmp_adapter *pAd,
u32 eventType,
int flags,
u8 *pSrcMac,
int RtmpOSNetDevAddrSet(struct net_device *pNetDev, u8 *pMacAddr)
{
struct net_device *net_dev;
- RTMP_ADAPTER *pAd;
+ struct rt_rtmp_adapter *pAd;
net_dev = pNetDev;
GET_PAD_FROM_NET_DEV(pAd, net_dev);
/*
* Assign the network dev name for created Ralink WiFi interface.
*/
-static int RtmpOSNetDevRequestName(IN RTMP_ADAPTER * pAd,
+static int RtmpOSNetDevRequestName(struct rt_rtmp_adapter *pAd,
struct net_device *dev,
char *pPrefixStr, int devIdx)
{
free_netdev(pNetDev);
}
-int RtmpOSNetDevAlloc(struct net_device ** new_dev_p, u32 privDataSize)
+int RtmpOSNetDevAlloc(struct net_device **new_dev_p, u32 privDataSize)
{
/* assign it as null first. */
*new_dev_p = NULL;
dev_put(pNetDev);
}
-int RtmpOSNetDevDestory(IN RTMP_ADAPTER * pAd, struct net_device *pNetDev)
+int RtmpOSNetDevDestory(struct rt_rtmp_adapter *pAd, struct net_device *pNetDev)
{
/* TODO: Need to fix this */
- printk("WARNING: This function(%s) not implement yet!!!\n", __func__);
+ printk("WARNING: This function(%s) not implement yet!\n", __func__);
return 0;
}
}
int RtmpOSNetDevAttach(struct net_device *pNetDev,
- IN RTMP_OS_NETDEV_OP_HOOK * pDevOpHook)
+ struct rt_rtmp_os_netdev_op_hook *pDevOpHook)
{
int ret, rtnl_locked = FALSE;
DBGPRINT(RT_DEBUG_TRACE, ("RtmpOSNetDevAttach()--->\n"));
/* If we need hook some callback function to the net device structrue, now do it. */
if (pDevOpHook) {
- PRTMP_ADAPTER pAd = NULL;
+ struct rt_rtmp_adapter *pAd = NULL;
GET_PAD_FROM_NET_DEV(pAd, pNetDev);
return NDIS_STATUS_FAILURE;
}
-struct net_device *RtmpOSNetDevCreate(IN RTMP_ADAPTER * pAd,
+struct net_device *RtmpOSNetDevCreate(struct rt_rtmp_adapter *pAd,
int devType,
int devNum,
int privMemSize, char *pNamePrefix)
int status;
/* allocate a new network device */
- status = RtmpOSNetDevAlloc(&pNetDev, 0 /*privMemSize */ );
+ status = RtmpOSNetDevAlloc(&pNetDev, 0 /*privMemSize */);
if (status != NDIS_STATUS_SUCCESS) {
/* allocation fail, exit */
DBGPRINT(RT_DEBUG_ERROR,