Search Linux Wireless

Re: [PATCH] b43: Accessing the TSF via mac80211

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sunday 25 January 2009 13:41:51 Alina Friedrichsen wrote:
> This allows the mac80211 high level code to access the TSF. This is e.g. needed for BSSID merges in the IBSS mode.

Thanks, can you also remove our private debugfs hook?

> Signed-off-by: Alina Friedrichsen <x-alina@xxxxxxx>
> ---
> diff -urN wireless-testing.orig/drivers/net/wireless/b43/main.c wireless-testing/drivers/net/wireless/b43/main.c
> --- wireless-testing.orig/drivers/net/wireless/b43/main.c	2009-01-25 06:12:13.000000000 +0100
> +++ wireless-testing/drivers/net/wireless/b43/main.c	2009-01-25 13:09:35.000000000 +0100
> @@ -3177,6 +3177,25 @@
>  	return 0;
>  }
>  
> +static u64 b43_op_get_tsf(struct ieee80211_hw *hw)
> +{
> +	struct b43_wl *wl = hw_to_b43_wl(hw);
> +	struct b43_wldev *dev = wl->current_dev;
> +	u64 tsf;
> +

You must add a check and locking here.

	if (dev && (b43_status(dev) >= B43_STAT_INITIALIZED)) {
		mutex_lock(&wl->mutex);
		spin_lock_irq(&wl->irq_lock);

> +	b43_tsf_read(dev, &tsf);

		spin_unlock_irq(&wl->irq_lock);
		mutex_unlock(&wl->mutex);
	} else
		tsf = 0; //FIXME what to do on error?

> +	return tsf;
> +}
> +
> +static void b43_op_set_tsf(struct ieee80211_hw *hw, u64 tsf)
> +{
> +	struct b43_wl *wl = hw_to_b43_wl(hw);
> +	struct b43_wldev *dev = wl->current_dev;

Same check and locking goes here.

> +	b43_tsf_write(dev, tsf);
> +}
> +
>  static void b43_put_phy_into_reset(struct b43_wldev *dev)
>  {
>  	struct ssb_device *sdev = dev->dev;
> @@ -4296,6 +4315,8 @@
>  	.set_key		= b43_op_set_key,
>  	.get_stats		= b43_op_get_stats,
>  	.get_tx_stats		= b43_op_get_tx_stats,
> +	.get_tsf		= b43_op_get_tsf,
> +	.set_tsf		= b43_op_set_tsf,
>  	.start			= b43_op_start,
>  	.stop			= b43_op_stop,
>  	.set_tim		= b43_op_beacon_set_tim,
> 



-- 
Greetings, Michael.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux