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

Commit 09145962 authored by Mike McCormack's avatar Mike McCormack Committed by Greg Kroah-Hartman
Browse files

staging: rtl8192e: Pass ieee80211_device to callbacks

parent 45a43a84
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -2124,7 +2124,7 @@ struct ieee80211_device {
	 * This fucntion can't sleep.
	 */
	int (*softmac_hard_start_xmit)(struct sk_buff *skb,
			       struct net_device *dev);
			       struct ieee80211_device *ieee80211);

	/* used instead of hard_start_xmit (not softmac_hard_start_xmit)
	 * if the IEEE_SOFTMAC_TX_QUEUE feature is used to TX data
@@ -2133,22 +2133,22 @@ struct ieee80211_device {
	 * This function can't sleep.
	 */
	void (*softmac_data_hard_start_xmit)(struct sk_buff *skb,
			       struct net_device *dev,int rate);
			       struct ieee80211_device *ieee80211, int rate);

	/* stops the HW queue for DATA frames. Useful to avoid
	 * waste time to TX data frame when we are reassociating
	 * This function can sleep.
	 */
	void (*data_hard_stop)(struct net_device *dev);
	void (*data_hard_stop)(struct ieee80211_device *ieee80211);

	/* OK this is complementar to data_poll_hard_stop */
	void (*data_hard_resume)(struct net_device *dev);
	void (*data_hard_resume)(struct ieee80211_device *ieee80211);

	/* ask to the driver to retune the radio .
	 * This function can sleep. the driver should ensure
	 * the radio has been swithced before return.
	 */
	void (*set_chan)(struct net_device *dev,short ch);
	void (*set_chan)(struct ieee80211_device *ieee80211, short ch);

	/* These are not used if the ieee stack takes care of
	 * scanning (IEEE_SOFTMAC_SCAN feature set).
@@ -2182,8 +2182,8 @@ struct ieee80211_device {
	 * stop_send_bacons is NOT guaranteed to be called only
	 * after start_send_beacons.
	 */
	void (*start_send_beacons) (struct net_device *dev);
	void (*stop_send_beacons) (struct net_device *dev);
	void (*start_send_beacons) (struct ieee80211_device *dev);
	void (*stop_send_beacons) (struct ieee80211_device *dev);

	/* power save mode related */
	void (*sta_wake_up) (struct net_device *dev);
+19 −19
Original line number Diff line number Diff line
@@ -243,7 +243,7 @@ inline void softmac_mgmt_xmit(struct sk_buff *skb, struct ieee80211_device *ieee
				ieee->seq_ctrl[0]++;

			/* avoid watchdog triggers */
			ieee->softmac_data_hard_start_xmit(skb,ieee->dev,ieee->basic_rate);
			ieee->softmac_data_hard_start_xmit(skb, ieee, ieee->basic_rate);
		}

		spin_unlock_irqrestore(&ieee->lock, flags);
@@ -268,7 +268,7 @@ inline void softmac_mgmt_xmit(struct sk_buff *skb, struct ieee80211_device *ieee
			 * */
			skb_queue_tail(&ieee->skb_waitQ[tcb_desc->queue_index], skb);
		} else {
			ieee->softmac_hard_start_xmit(skb,ieee->dev);
			ieee->softmac_hard_start_xmit(skb, ieee);
		}
		spin_unlock(&ieee->mgmt_tx_lock);
	}
@@ -297,7 +297,7 @@ inline void softmac_ps_mgmt_xmit(struct sk_buff *skb, struct ieee80211_device *i
			ieee->seq_ctrl[0]++;

		/* avoid watchdog triggers */
		ieee->softmac_data_hard_start_xmit(skb,ieee->dev,ieee->basic_rate);
		ieee->softmac_data_hard_start_xmit(skb, ieee, ieee->basic_rate);

	}else{

@@ -308,7 +308,7 @@ inline void softmac_ps_mgmt_xmit(struct sk_buff *skb, struct ieee80211_device *i
		else
			ieee->seq_ctrl[0]++;

		ieee->softmac_hard_start_xmit(skb,ieee->dev);
		ieee->softmac_hard_start_xmit(skb, ieee);

	}
}
@@ -448,7 +448,7 @@ void ieee80211_softmac_scan_syncro(struct ieee80211_device *ieee)

		if (ieee->state == IEEE80211_LINKED)
			goto out;
		ieee->set_chan(ieee->dev, ch);
		ieee->set_chan(ieee, ch);
#ifdef ENABLE_DOT11D
		if(channel_map[ch] == 1)
#endif
@@ -517,7 +517,7 @@ void ieee80211_softmac_scan_wq(struct work_struct *work)
#endif
	if (ieee->scanning == 0 )
		goto out;
	ieee->set_chan(ieee->dev, ieee->current_network.channel);
	ieee->set_chan(ieee, ieee->current_network.channel);
#ifdef ENABLE_DOT11D
	if(channel_map[ieee->current_network.channel] == 1)
#endif
@@ -568,7 +568,7 @@ void ieee80211_beacons_stop(struct ieee80211_device *ieee)
void ieee80211_stop_send_beacons(struct ieee80211_device *ieee)
{
	if(ieee->stop_send_beacons)
		ieee->stop_send_beacons(ieee->dev);
		ieee->stop_send_beacons(ieee);
	if (ieee->softmac_features & IEEE_SOFTMAC_BEACONS)
		ieee80211_beacons_stop(ieee);
}
@@ -577,7 +577,7 @@ void ieee80211_stop_send_beacons(struct ieee80211_device *ieee)
void ieee80211_start_send_beacons(struct ieee80211_device *ieee)
{
	if(ieee->start_send_beacons)
		ieee->start_send_beacons(ieee->dev);
		ieee->start_send_beacons(ieee);
	if(ieee->softmac_features & IEEE_SOFTMAC_BEACONS)
		ieee80211_beacons_start(ieee);
}
@@ -1390,7 +1390,7 @@ void ieee80211_associate_complete_wq(struct work_struct *work)
	}

	if (ieee->data_hard_resume)
		ieee->data_hard_resume(ieee->dev);
		ieee->data_hard_resume(ieee);
	netif_carrier_on(ieee->dev);
}

@@ -1414,7 +1414,7 @@ void ieee80211_associate_procedure_wq(struct work_struct *work)
	down(&ieee->wx_sem);

	if (ieee->data_hard_stop)
		ieee->data_hard_stop(ieee->dev);
		ieee->data_hard_stop(ieee);

	ieee80211_stop_scan(ieee);
	printk("===>%s(), chan:%d\n", __FUNCTION__, ieee->current_network.channel);
@@ -2221,7 +2221,7 @@ void ieee80211_softmac_xmit(struct ieee80211_txb *txb, struct ieee80211_device *
		}else{
			ieee->softmac_data_hard_start_xmit(
					txb->fragments[i],
					ieee->dev,ieee->rate);
					ieee, ieee->rate);
		}
	}

@@ -2244,7 +2244,7 @@ void ieee80211_resume_tx(struct ieee80211_device *ieee)

			ieee->softmac_data_hard_start_xmit(
				ieee->tx_pending.txb->fragments[i],
				ieee->dev,ieee->rate);
				ieee, ieee->rate);
			ieee->stats.tx_packets++;
		}
	}
@@ -2294,7 +2294,7 @@ void ieee80211_rtl_wake_queue(struct ieee80211_device *ieee)
			else
				ieee->seq_ctrl[0]++;

			ieee->softmac_data_hard_start_xmit(skb,ieee->dev,ieee->basic_rate);
			ieee->softmac_data_hard_start_xmit(skb, ieee, ieee->basic_rate);
		}
	}
	if (!ieee->queue_stop && ieee->tx_pending.txb)
@@ -2348,13 +2348,13 @@ void ieee80211_start_master_bss(struct ieee80211_device *ieee)

	memcpy(ieee->current_network.bssid, ieee->dev->dev_addr, ETH_ALEN);

	ieee->set_chan(ieee->dev, ieee->current_network.channel);
	ieee->set_chan(ieee, ieee->current_network.channel);
	ieee->state = IEEE80211_LINKED;
	ieee->link_change(ieee->dev);
	notify_wx_assoc_event(ieee);

	if (ieee->data_hard_resume)
		ieee->data_hard_resume(ieee->dev);
		ieee->data_hard_resume(ieee);

	netif_carrier_on(ieee->dev);
}
@@ -2364,7 +2364,7 @@ void ieee80211_start_monitor_mode(struct ieee80211_device *ieee)
	if(ieee->raw_tx){

		if (ieee->data_hard_resume)
			ieee->data_hard_resume(ieee->dev);
			ieee->data_hard_resume(ieee);

		netif_carrier_on(ieee->dev);
	}
@@ -2467,7 +2467,7 @@ void ieee80211_start_ibss_wq(struct work_struct *work)

	ieee->state = IEEE80211_LINKED;

	ieee->set_chan(ieee->dev, ieee->current_network.channel);
	ieee->set_chan(ieee, ieee->current_network.channel);
	ieee->link_change(ieee->dev);

	notify_wx_assoc_event(ieee);
@@ -2475,7 +2475,7 @@ void ieee80211_start_ibss_wq(struct work_struct *work)
	ieee80211_start_send_beacons(ieee);

	if (ieee->data_hard_resume)
		ieee->data_hard_resume(ieee->dev);
		ieee->data_hard_resume(ieee);
	netif_carrier_on(ieee->dev);

	up(&ieee->wx_sem);
@@ -2540,7 +2540,7 @@ void ieee80211_disassociate(struct ieee80211_device *ieee)
			ieee80211_reset_queue(ieee);

	if (ieee->data_hard_stop)
			ieee->data_hard_stop(ieee->dev);
		ieee->data_hard_stop(ieee);
#ifdef ENABLE_DOT11D
	if(IS_DOT11D_ENABLE(ieee))
		Dot11d_Reset(ieee);
+3 −3
Original line number Diff line number Diff line
@@ -316,7 +316,7 @@ void ieee80211_wx_sync_scan_wq(struct work_struct *work)
#endif

	if (ieee->data_hard_stop)
		ieee->data_hard_stop(ieee->dev);
		ieee->data_hard_stop(ieee);

	ieee80211_stop_send_beacons(ieee);

@@ -360,7 +360,7 @@ void ieee80211_wx_sync_scan_wq(struct work_struct *work)
		ieee->LinkDetectInfo.NumRecvDataInPeriod= 1;
	}
	if (ieee->data_hard_resume)
		ieee->data_hard_resume(ieee->dev);
		ieee->data_hard_resume(ieee);

	if(ieee->iw_mode == IW_MODE_ADHOC || ieee->iw_mode == IW_MODE_MASTER)
		ieee80211_start_send_beacons(ieee);
@@ -479,7 +479,7 @@ int ieee80211_wx_set_essid(struct ieee80211_device *ieee,
	{
		if(prev == 0 && ieee->raw_tx){
			if (ieee->data_hard_resume)
				ieee->data_hard_resume(ieee->dev);
				ieee->data_hard_resume(ieee);

			netif_carrier_on(ieee->dev);
		}
+4 −4
Original line number Diff line number Diff line
@@ -1716,15 +1716,15 @@ void HTSetConnectBwModeCallback(struct ieee80211_device* ieee)
	if(pHTInfo->bCurBW40MHz)
	{
		if(pHTInfo->CurSTAExtChnlOffset==HT_EXTCHNL_OFFSET_UPPER)
			ieee->set_chan(ieee->dev, ieee->current_network.channel+2);
			ieee->set_chan(ieee, ieee->current_network.channel+2);
		else if(pHTInfo->CurSTAExtChnlOffset==HT_EXTCHNL_OFFSET_LOWER)
			ieee->set_chan(ieee->dev, ieee->current_network.channel-2);
			ieee->set_chan(ieee, ieee->current_network.channel-2);
		else
			ieee->set_chan(ieee->dev, ieee->current_network.channel);
			ieee->set_chan(ieee, ieee->current_network.channel);

		ieee->SetBWModeHandler(ieee->dev, HT_CHANNEL_WIDTH_20_40, pHTInfo->CurSTAExtChnlOffset);
	} else {
		ieee->set_chan(ieee->dev, ieee->current_network.channel);
		ieee->set_chan(ieee, ieee->current_network.channel);
		ieee->SetBWModeHandler(ieee->dev, HT_CHANNEL_WIDTH_20, HT_EXTCHNL_OFFSET_NO_EXT);
	}

+2 −2
Original line number Diff line number Diff line
@@ -917,7 +917,7 @@ typedef struct r8192_priv
	u8 rf_type; /* 0 means 1T2R, 1 means 2T4R */

	short (*rf_set_sens)(struct net_device *dev, short sens);
	u8 (*rf_set_chan)(struct net_device *dev,u8 ch);
	u8 (*rf_set_chan)(struct ieee80211_device *ieee80211, u8 ch);
	short promisc;
	/* stats */
	struct Stats stats;
Loading