Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1242c70d authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Staging: rt2870: fix up netdev->priv usage



Now that netdev->priv is removed, fix the driver to use netdev->ml_priv
like it always should have been doing.

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 5a501b30
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -763,7 +763,7 @@ Return Value:
NDIS_STATUS	 CreateThreads(
	IN	struct net_device *net_dev)
{
	PRTMP_ADAPTER pAd = (PRTMP_ADAPTER) net_dev->priv;
	PRTMP_ADAPTER pAd = net_dev->ml_priv;
	POS_COOKIE pObj = (POS_COOKIE) pAd->OS_Cookie;
	pid_t pid_number = -1;

+17 −17
Original line number Diff line number Diff line
@@ -125,7 +125,7 @@ Return Value:
*/
int MainVirtualIF_close(IN struct net_device *net_dev)
{
    RTMP_ADAPTER *pAd = net_dev->priv;
    RTMP_ADAPTER *pAd = net_dev->ml_priv;

	// Sanity check for pAd
	if (pAd == NULL)
@@ -165,7 +165,7 @@ Return Value:
*/
int MainVirtualIF_open(IN struct net_device *net_dev)
{
    RTMP_ADAPTER *pAd = net_dev->priv;
    RTMP_ADAPTER *pAd = net_dev->ml_priv;

	// Sanity check for pAd
	if (pAd == NULL)
@@ -207,7 +207,7 @@ Return Value:
int rt28xx_close(IN PNET_DEV dev)
{
	struct net_device * net_dev = (struct net_device *)dev;
    RTMP_ADAPTER	*pAd = net_dev->priv;
    RTMP_ADAPTER	*pAd = net_dev->ml_priv;
	BOOLEAN 		Cancelled = FALSE;
	UINT32			i = 0;
#ifdef RT2870
@@ -416,7 +416,7 @@ int rt28xx_close(IN PNET_DEV dev)

static int rt28xx_init(IN struct net_device *net_dev)
{
	PRTMP_ADAPTER 			pAd = (PRTMP_ADAPTER)net_dev->priv;
	PRTMP_ADAPTER 			pAd = net_dev->ml_priv;
	UINT					index;
	UCHAR					TmpPhy;
	NDIS_STATUS				Status;
@@ -688,8 +688,8 @@ static int rt28xx_init(IN struct net_device *net_dev)
#endif // DOT11_N_SUPPORT //
	RT28XX_IRQ_RELEASE(net_dev);

	// shall not set priv to NULL here because the priv didn't been free yet.
	//net_dev->priv = 0;
	// shall not set ml_priv to NULL here because the ml_priv didn't been free yet.
	//net_dev->ml_priv = 0;
#ifdef INF_AMAZON_SE
err0:
#endif // INF_AMAZON_SE //
@@ -716,7 +716,7 @@ Return Value:
int rt28xx_open(IN PNET_DEV dev)
{
	struct net_device * net_dev = (struct net_device *)dev;
	PRTMP_ADAPTER pAd = (PRTMP_ADAPTER)net_dev->priv;
	PRTMP_ADAPTER pAd = net_dev->ml_priv;
	int retval = 0;
 	POS_COOKIE pObj;

@@ -725,7 +725,7 @@ int rt28xx_open(IN PNET_DEV dev)
	if (pAd == NULL)
	{
		/* if 1st open fail, pAd will be free;
		   So the net_dev->priv will be NULL in 2rd open */
		   So the net_dev->ml_priv will be NULL in 2rd open */
		return -1;
	}

@@ -1416,7 +1416,7 @@ INT __devinit rt28xx_probe(
	if (status != NDIS_STATUS_SUCCESS)
		goto err_out_free_netdev;

	net_dev->priv = (PVOID)pAd;
	net_dev->ml_priv = (PVOID)pAd;
    pAd->net_dev = net_dev; // must be before RT28XXNetDevInit()

	RT28XXNetDevInit(_dev_p, net_dev, pAd);
@@ -1517,7 +1517,7 @@ Return Value:
int rt28xx_packet_xmit(struct sk_buff *skb)
{
	struct net_device *net_dev = skb->dev;
	PRTMP_ADAPTER pAd = (PRTMP_ADAPTER) net_dev->priv;
	PRTMP_ADAPTER pAd = net_dev->ml_priv;
	int status = 0;
	PNDIS_PACKET pPacket = (PNDIS_PACKET) skb;

@@ -1605,7 +1605,7 @@ INT rt28xx_send_packets(
	IN struct sk_buff 		*skb_p,
	IN struct net_device 	*net_dev)
{
    RTMP_ADAPTER *pAd = net_dev->priv;
    RTMP_ADAPTER *pAd = net_dev->ml_priv;

	if (!(net_dev->flags & IFF_UP))
	{
@@ -1717,7 +1717,7 @@ static BOOLEAN RT28XXAvailRANameAssign(
struct iw_statistics *rt28xx_get_wireless_stats(
    IN struct net_device *net_dev)
{
	PRTMP_ADAPTER pAd = (PRTMP_ADAPTER) net_dev->priv;
	PRTMP_ADAPTER pAd = net_dev->ml_priv;


	DBGPRINT(RT_DEBUG_TRACE, ("rt28xx_get_wireless_stats --->\n"));
@@ -1769,18 +1769,18 @@ INT rt28xx_ioctl(

	if (net_dev->priv_flags == INT_MAIN)
	{
		pAd = net_dev->priv;
		pAd = net_dev->ml_priv;
	}
	else
	{
		pVirtualAd = net_dev->priv;
		pAd = pVirtualAd->RtmpDev->priv;
		pVirtualAd = net_dev->ml_priv;
		pAd = pVirtualAd->RtmpDev->ml_priv;
	}

	if (pAd == NULL)
	{
		/* if 1st open fail, pAd will be free;
		   So the net_dev->priv will be NULL in 2rd open */
		   So the net_dev->ml_priv will be NULL in 2rd open */
		return -ENETDOWN;
	}

@@ -1817,7 +1817,7 @@ struct net_device_stats *RT28xx_get_ether_stats(
    RTMP_ADAPTER *pAd = NULL;

	if (net_dev)
		pAd = net_dev->priv;
		pAd = net_dev->ml_priv;

	if (pAd)
	{
+73 −73
Original line number Diff line number Diff line
@@ -580,7 +580,7 @@ rt_ioctl_giwname(struct net_device *dev,
		   struct iw_request_info *info,
		   char *name, char *extra)
{
//	PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
//	PRTMP_ADAPTER pAdapter = dev->ml_priv;

#ifdef RT2870
	strncpy(name, "RT2870 Wireless", IFNAMSIZ);
@@ -592,7 +592,7 @@ int rt_ioctl_siwfreq(struct net_device *dev,
			struct iw_request_info *info,
			struct iw_freq *freq, char *extra)
{
	PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER pAdapter = dev->ml_priv;
	int 	chan = -1;

    //check if the interface is down
@@ -632,19 +632,19 @@ int rt_ioctl_giwfreq(struct net_device *dev,

	if (dev->priv_flags == INT_MAIN)
	{
		pAdapter = dev->priv;
		pAdapter = dev->ml_priv;
	}
	else
	{
		pVirtualAd = dev->priv;
		pVirtualAd = dev->ml_priv;
		if (pVirtualAd && pVirtualAd->RtmpDev)
			pAdapter = pVirtualAd->RtmpDev->priv;
			pAdapter = pVirtualAd->RtmpDev->ml_priv;
	}

	if (pAdapter == NULL)
	{
		/* if 1st open fail, pAd will be free;
		   So the net_dev->priv will be NULL in 2rd open */
		   So the net_dev->ml_priv will be NULL in 2rd open */
		return -ENETDOWN;
	}

@@ -662,7 +662,7 @@ int rt_ioctl_siwmode(struct net_device *dev,
		   struct iw_request_info *info,
		   __u32 *mode, char *extra)
{
	PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER pAdapter = dev->ml_priv;

	//check if the interface is down
    if(!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE))
@@ -704,19 +704,19 @@ int rt_ioctl_giwmode(struct net_device *dev,

	if (dev->priv_flags == INT_MAIN)
	{
		pAdapter = dev->priv;
		pAdapter = dev->ml_priv;
	}
	else
	{
		pVirtualAd = dev->priv;
		pVirtualAd = dev->ml_priv;
		if (pVirtualAd && pVirtualAd->RtmpDev)
			pAdapter = pVirtualAd->RtmpDev->priv;
			pAdapter = pVirtualAd->RtmpDev->ml_priv;
	}

	if (pAdapter == NULL)
	{
		/* if 1st open fail, pAd will be free;
		   So the net_dev->priv will be NULL in 2rd open */
		   So the net_dev->ml_priv will be NULL in 2rd open */
		return -ENETDOWN;
	}

@@ -741,7 +741,7 @@ int rt_ioctl_siwsens(struct net_device *dev,
		   struct iw_request_info *info,
		   char *name, char *extra)
{
	PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER pAdapter = dev->ml_priv;

	//check if the interface is down
    	if(!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE))
@@ -772,19 +772,19 @@ int rt_ioctl_giwrange(struct net_device *dev,

	if (dev->priv_flags == INT_MAIN)
	{
		pAdapter = dev->priv;
		pAdapter = dev->ml_priv;
	}
	else
	{
		pVirtualAd = dev->priv;
		pVirtualAd = dev->ml_priv;
		if (pVirtualAd && pVirtualAd->RtmpDev)
			pAdapter = pVirtualAd->RtmpDev->priv;
			pAdapter = pVirtualAd->RtmpDev->ml_priv;
	}

	if (pAdapter == NULL)
	{
		/* if 1st open fail, pAd will be free;
		   So the net_dev->priv will be NULL in 2rd open */
		   So the net_dev->ml_priv will be NULL in 2rd open */
		return -ENETDOWN;
	}

@@ -866,7 +866,7 @@ int rt_ioctl_siwap(struct net_device *dev,
		      struct iw_request_info *info,
		      struct sockaddr *ap_addr, char *extra)
{
	PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER pAdapter = dev->ml_priv;
    NDIS_802_11_MAC_ADDRESS Bssid;

	//check if the interface is down
@@ -911,19 +911,19 @@ int rt_ioctl_giwap(struct net_device *dev,

	if (dev->priv_flags == INT_MAIN)
	{
		pAdapter = dev->priv;
		pAdapter = dev->ml_priv;
	}
	else
	{
		pVirtualAd = dev->priv;
		pVirtualAd = dev->ml_priv;
		if (pVirtualAd && pVirtualAd->RtmpDev)
			pAdapter = pVirtualAd->RtmpDev->priv;
			pAdapter = pVirtualAd->RtmpDev->ml_priv;
	}

	if (pAdapter == NULL)
	{
		/* if 1st open fail, pAd will be free;
		   So the net_dev->priv will be NULL in 2rd open */
		   So the net_dev->ml_priv will be NULL in 2rd open */
		return -ENETDOWN;
	}

@@ -993,7 +993,7 @@ int rt_ioctl_iwaplist(struct net_device *dev,
			struct iw_request_info *info,
			struct iw_point *data, char *extra)
{
 	PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
 	PRTMP_ADAPTER pAdapter = dev->ml_priv;

	struct sockaddr addr[IW_MAX_AP];
	struct iw_quality qual[IW_MAX_AP];
@@ -1029,7 +1029,7 @@ int rt_ioctl_siwscan(struct net_device *dev,
			struct iw_request_info *info,
			struct iw_point *data, char *extra)
{
	PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER pAdapter = dev->ml_priv;

	ULONG								Now;
	int Status = NDIS_STATUS_SUCCESS;
@@ -1111,7 +1111,7 @@ int rt_ioctl_giwscan(struct net_device *dev,
			struct iw_point *data, char *extra)
{

	PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER pAdapter = dev->ml_priv;
	int i=0;
	char *current_ev = extra, *previous_ev = extra;
	char *end_buf;
@@ -1400,7 +1400,7 @@ int rt_ioctl_siwessid(struct net_device *dev,
			 struct iw_request_info *info,
			 struct iw_point *data, char *essid)
{
	PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER pAdapter = dev->ml_priv;

	//check if the interface is down
    if(!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE))
@@ -1446,19 +1446,19 @@ int rt_ioctl_giwessid(struct net_device *dev,

	if (dev->priv_flags == INT_MAIN)
	{
		pAdapter = dev->priv;
		pAdapter = dev->ml_priv;
	}
	else
	{
		pVirtualAd = dev->priv;
		pVirtualAd = dev->ml_priv;
		if (pVirtualAd && pVirtualAd->RtmpDev)
			pAdapter = pVirtualAd->RtmpDev->priv;
			pAdapter = pVirtualAd->RtmpDev->ml_priv;
	}

	if (pAdapter == NULL)
	{
		/* if 1st open fail, pAd will be free;
		   So the net_dev->priv will be NULL in 2rd open */
		   So the net_dev->ml_priv will be NULL in 2rd open */
		return -ENETDOWN;
	}

@@ -1499,7 +1499,7 @@ int rt_ioctl_siwnickn(struct net_device *dev,
			 struct iw_request_info *info,
			 struct iw_point *data, char *nickname)
{
	PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER pAdapter = dev->ml_priv;

    //check if the interface is down
    if(!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE))
@@ -1527,19 +1527,19 @@ int rt_ioctl_giwnickn(struct net_device *dev,

	if (dev->priv_flags == INT_MAIN)
	{
		pAdapter = dev->priv;
		pAdapter = dev->ml_priv;
	}
	else
	{
		pVirtualAd = dev->priv;
		pVirtualAd = dev->ml_priv;
		if (pVirtualAd && pVirtualAd->RtmpDev)
			pAdapter = pVirtualAd->RtmpDev->priv;
			pAdapter = pVirtualAd->RtmpDev->ml_priv;
	}

	if (pAdapter == NULL)
	{
		/* if 1st open fail, pAd will be free;
		   So the net_dev->priv will be NULL in 2rd open */
		   So the net_dev->ml_priv will be NULL in 2rd open */
		return -ENETDOWN;
	}

@@ -1556,7 +1556,7 @@ int rt_ioctl_siwrts(struct net_device *dev,
		       struct iw_request_info *info,
		       struct iw_param *rts, char *extra)
{
	PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER pAdapter = dev->ml_priv;
	u16 val;

    //check if the interface is down
@@ -1590,19 +1590,19 @@ int rt_ioctl_giwrts(struct net_device *dev,

	if (dev->priv_flags == INT_MAIN)
	{
		pAdapter = dev->priv;
		pAdapter = dev->ml_priv;
	}
	else
	{
		pVirtualAd = dev->priv;
		pVirtualAd = dev->ml_priv;
		if (pVirtualAd && pVirtualAd->RtmpDev)
			pAdapter = pVirtualAd->RtmpDev->priv;
			pAdapter = pVirtualAd->RtmpDev->ml_priv;
	}

	if (pAdapter == NULL)
	{
		/* if 1st open fail, pAd will be free;
		   So the net_dev->priv will be NULL in 2rd open */
		   So the net_dev->ml_priv will be NULL in 2rd open */
		return -ENETDOWN;
	}

@@ -1624,7 +1624,7 @@ int rt_ioctl_siwfrag(struct net_device *dev,
			struct iw_request_info *info,
			struct iw_param *frag, char *extra)
{
	PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER pAdapter = dev->ml_priv;
	u16 val;

	//check if the interface is down
@@ -1656,19 +1656,19 @@ int rt_ioctl_giwfrag(struct net_device *dev,

	if (dev->priv_flags == INT_MAIN)
	{
		pAdapter = dev->priv;
		pAdapter = dev->ml_priv;
	}
	else
	{
		pVirtualAd = dev->priv;
		pVirtualAd = dev->ml_priv;
		if (pVirtualAd && pVirtualAd->RtmpDev)
			pAdapter = pVirtualAd->RtmpDev->priv;
			pAdapter = pVirtualAd->RtmpDev->ml_priv;
	}

	if (pAdapter == NULL)
	{
		/* if 1st open fail, pAd will be free;
		   So the net_dev->priv will be NULL in 2rd open */
		   So the net_dev->ml_priv will be NULL in 2rd open */
		return -ENETDOWN;
	}

@@ -1692,7 +1692,7 @@ int rt_ioctl_siwencode(struct net_device *dev,
			  struct iw_request_info *info,
			  struct iw_point *erq, char *extra)
{
	PRTMP_ADAPTER pAdapter = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER pAdapter = dev->ml_priv;

	//check if the interface is down
    	if(!RTMP_TEST_FLAG(pAdapter, fRTMP_ADAPTER_INTERRUPT_IN_USE))
@@ -1800,19 +1800,19 @@ rt_ioctl_giwencode(struct net_device *dev,

	if (dev->priv_flags == INT_MAIN)
	{
		pAdapter = dev->priv;
		pAdapter = dev->ml_priv;
	}
	else
	{
		pVirtualAd = dev->priv;
		pVirtualAd = dev->ml_priv;
		if (pVirtualAd && pVirtualAd->RtmpDev)
			pAdapter = pVirtualAd->RtmpDev->priv;
			pAdapter = pVirtualAd->RtmpDev->ml_priv;
	}

	if (pAdapter == NULL)
	{
		/* if 1st open fail, pAd will be free;
		   So the net_dev->priv will be NULL in 2rd open */
		   So the net_dev->ml_priv will be NULL in 2rd open */
		return -ENETDOWN;
	}

@@ -1880,19 +1880,19 @@ rt_ioctl_setparam(struct net_device *dev, struct iw_request_info *info,

	if (dev->priv_flags == INT_MAIN)
	{
		pAdapter = dev->priv;
		pAdapter = dev->ml_priv;
	}
	else
	{
		pVirtualAd = dev->priv;
		pAdapter = pVirtualAd->RtmpDev->priv;
		pVirtualAd = dev->ml_priv;
		pAdapter = pVirtualAd->RtmpDev->ml_priv;
	}
	pObj = (POS_COOKIE) pAdapter->OS_Cookie;

	if (pAdapter == NULL)
	{
		/* if 1st open fail, pAd will be free;
		   So the net_dev->priv will be NULL in 2rd open */
		   So the net_dev->ml_priv will be NULL in 2rd open */
		return -ENETDOWN;
	}

@@ -1948,7 +1948,7 @@ rt_private_get_statistics(struct net_device *dev, struct iw_request_info *info,
		struct iw_point *wrq, char *extra)
{
	INT				Status = 0;
    PRTMP_ADAPTER   pAd = (PRTMP_ADAPTER) dev->priv;
    PRTMP_ADAPTER   pAd = dev->ml_priv;

    if (extra == NULL)
    {
@@ -2075,18 +2075,18 @@ rt_private_show(struct net_device *dev, struct iw_request_info *info,
    u32             subcmd = wrq->flags;

	if (dev->priv_flags == INT_MAIN)
		pAd = dev->priv;
		pAd = dev->ml_priv;
	else
	{
		pVirtualAd = dev->priv;
		pAd = pVirtualAd->RtmpDev->priv;
		pVirtualAd = dev->ml_priv;
		pAd = pVirtualAd->RtmpDev->ml_priv;
	}
	pObj = (POS_COOKIE) pAd->OS_Cookie;

	if (pAd == NULL)
	{
		/* if 1st open fail, pAd will be free;
		   So the net_dev->priv will be NULL in 2rd open */
		   So the net_dev->ml_priv will be NULL in 2rd open */
		return -ENETDOWN;
	}

@@ -2237,7 +2237,7 @@ int rt_ioctl_siwmlme(struct net_device *dev,
			   union iwreq_data *wrqu,
			   char *extra)
{
	PRTMP_ADAPTER   pAd = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER   pAd = dev->ml_priv;
	struct iw_mlme *pMlme = (struct iw_mlme *)wrqu->data.pointer;
	MLME_QUEUE_ELEM				MsgElem;
	MLME_DISASSOC_REQ_STRUCT	DisAssocReq;
@@ -2294,7 +2294,7 @@ int rt_ioctl_siwauth(struct net_device *dev,
			  struct iw_request_info *info,
			  union iwreq_data *wrqu, char *extra)
{
	PRTMP_ADAPTER   pAdapter = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER   pAdapter = dev->ml_priv;
	struct iw_param *param = &wrqu->param;

    //check if the interface is down
@@ -2447,7 +2447,7 @@ int rt_ioctl_giwauth(struct net_device *dev,
			       struct iw_request_info *info,
			       union iwreq_data *wrqu, char *extra)
{
	PRTMP_ADAPTER   pAdapter = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER   pAdapter = dev->ml_priv;
	struct iw_param *param = &wrqu->param;

    //check if the interface is down
@@ -2521,7 +2521,7 @@ int rt_ioctl_siwencodeext(struct net_device *dev,
			   union iwreq_data *wrqu,
			   char *extra)
			{
    PRTMP_ADAPTER   pAdapter = (PRTMP_ADAPTER) dev->priv;
    PRTMP_ADAPTER   pAdapter = dev->ml_priv;
	struct iw_point *encoding = &wrqu->encoding;
	struct iw_encode_ext *ext = (struct iw_encode_ext *)extra;
    int keyIdx, alg = ext->alg;
@@ -2649,7 +2649,7 @@ rt_ioctl_giwencodeext(struct net_device *dev,
			  struct iw_request_info *info,
			  union iwreq_data *wrqu, char *extra)
{
	PRTMP_ADAPTER pAd = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER pAd = dev->ml_priv;
	PCHAR pKey = NULL;
	struct iw_point *encoding = &wrqu->encoding;
	struct iw_encode_ext *ext = (struct iw_encode_ext *)extra;
@@ -2733,7 +2733,7 @@ int rt_ioctl_siwgenie(struct net_device *dev,
			  struct iw_request_info *info,
			  union iwreq_data *wrqu, char *extra)
{
	PRTMP_ADAPTER   pAd = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER   pAd = dev->ml_priv;

	if (wrqu->data.length > MAX_LEN_OF_RSNIE ||
	    (wrqu->data.length && extra == NULL))
@@ -2758,7 +2758,7 @@ int rt_ioctl_giwgenie(struct net_device *dev,
			       struct iw_request_info *info,
			       union iwreq_data *wrqu, char *extra)
{
	PRTMP_ADAPTER   pAd = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER   pAd = dev->ml_priv;

	if ((pAd->StaCfg.RSNIE_Len == 0) ||
		(pAd->StaCfg.AuthMode < Ndis802_11AuthModeWPA))
@@ -2804,7 +2804,7 @@ int rt_ioctl_siwpmksa(struct net_device *dev,
			   union iwreq_data *wrqu,
			   char *extra)
{
	PRTMP_ADAPTER   pAd = (PRTMP_ADAPTER) dev->priv;
	PRTMP_ADAPTER   pAd = dev->ml_priv;
	struct iw_pmksa *pPmksa = (struct iw_pmksa *)wrqu->data.pointer;
	INT	CachedIdx = 0, idx = 0;

@@ -2888,7 +2888,7 @@ rt_private_ioctl_bbp(struct net_device *dev, struct iw_request_info *info,
	UINT32				bbpValue;
	BOOLEAN				bIsPrintAllBBP = FALSE;
	INT					Status = 0;
    PRTMP_ADAPTER       pAdapter = (PRTMP_ADAPTER) dev->priv;
    PRTMP_ADAPTER       pAdapter = dev->ml_priv;


	memset(extra, 0x00, IW_PRIV_SIZE_MASK);
@@ -3015,7 +3015,7 @@ int rt_ioctl_siwrate(struct net_device *dev,
			struct iw_request_info *info,
			union iwreq_data *wrqu, char *extra)
{
    PRTMP_ADAPTER   pAd = (PRTMP_ADAPTER) dev->priv;
    PRTMP_ADAPTER   pAd = dev->ml_priv;
    UINT32          rate = wrqu->bitrate.value, fixed = wrqu->bitrate.fixed;

    //check if the interface is down
@@ -3073,7 +3073,7 @@ int rt_ioctl_giwrate(struct net_device *dev,
			       struct iw_request_info *info,
			       union iwreq_data *wrqu, char *extra)
{
    PRTMP_ADAPTER   pAd = (PRTMP_ADAPTER) dev->priv;
    PRTMP_ADAPTER   pAd = dev->ml_priv;
    int rate_index = 0, rate_count = 0;
    HTTRANSMIT_SETTING ht_setting;
    __s32 ralinkrate[] =
@@ -5483,19 +5483,19 @@ INT rt28xx_sta_ioctl(

	if (net_dev->priv_flags == INT_MAIN)
	{
		pAd = net_dev->priv;
		pAd = net_dev->ml_priv;
	}
	else
	{
		pVirtualAd = net_dev->priv;
		pAd = pVirtualAd->RtmpDev->priv;
		pVirtualAd = net_dev->ml_priv;
		pAd = pVirtualAd->RtmpDev->ml_priv;
	}
	pObj = (POS_COOKIE) pAd->OS_Cookie;

	if (pAd == NULL)
	{
		/* if 1st open fail, pAd will be free;
		   So the net_dev->priv will be NULL in 2rd open */
		   So the net_dev->ml_priv will be NULL in 2rd open */
		return -ENETDOWN;
	}