linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Buesch <mb@bu3sch.de>
To: "Alina Friedrichsen" <x-alina@gmx.net>
Cc: linux-wireless@vger.kernel.org, linville@tuxdriver.com,
	johannes@sipsolutions.net
Subject: Re: [PATCH v2] b43: Accessing the TSF via mac80211
Date: Sun, 25 Jan 2009 15:13:30 +0100	[thread overview]
Message-ID: <200901251513.30993.mb@bu3sch.de> (raw)
In-Reply-To: <20090125140611.136280@gmx.net>

On Sunday 25 January 2009 15:06:11 Alina Friedrichsen wrote:
> --- 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 14:35:51.000000000 +0100
> @@ -3177,6 +3177,45 @@
>  	return 0;
>  }
>  
> +static u64 b43_op_get_tsf(struct ieee80211_hw *hw)
> +{
> +	struct b43_wl *wl = hw_to_b43_wl(hw);
> +	unsigned long flags;
> +	struct b43_wldev *dev;
> +	u64 tsf;
> +
> +	mutex_lock(&wl->mutex);
> +	spin_lock_irqsave(&wl->irq_lock, flags);

See below

> +	dev = wl->current_dev;
> +
> +	if(dev && (b43_status(dev) >= B43_STAT_INITIALIZED))

See below

> +		b43_tsf_read(dev, &tsf);
> +	else
> +		tsf = 0;
> +
> +	spin_unlock_irqrestore(&wl->irq_lock, flags);
> +	mutex_unlock(&wl->mutex);
> +
> +	return tsf;
> +}
> +
> +static void b43_op_set_tsf(struct ieee80211_hw *hw, u64 tsf)
> +{
> +	struct b43_wl *wl = hw_to_b43_wl(hw);
> +	unsigned long flags;
> +	struct b43_wldev *dev;
> +
> +	mutex_lock(&wl->mutex);
> +	spin_lock_irqsave(&wl->irq_lock, flags);

You can use spin_lock_irq, because we're guaranteed to be in process context (otherwise
the mutex_lock would horribly fail, too)

> +	dev = wl->current_dev;
> +
> +	if(dev && (b43_status(dev) >= B43_STAT_INITIALIZED))

Coding style:

	if (dev...

> +		b43_tsf_write(dev, tsf);
> +
> +	spin_unlock_irqrestore(&wl->irq_lock, flags);
> +	mutex_unlock(&wl->mutex);
> +}
> +
>  static void b43_put_phy_into_reset(struct b43_wldev *dev)
>  {
>  	struct ssb_device *sdev = dev->dev;
> @@ -4296,6 +4335,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.

      reply	other threads:[~2009-01-25 14:14 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-25 14:06 [PATCH v2] b43: Accessing the TSF via mac80211 Alina Friedrichsen
2009-01-25 14:13 ` Michael Buesch [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200901251513.30993.mb@bu3sch.de \
    --to=mb@bu3sch.de \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=x-alina@gmx.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).