Thread (22 messages) 22 messages, 5 authors, 2011-11-21

Re: [PATCH 06/13] ath5k: Use usleep_range where possible

From: Nick Kossifidis <mickflemm@gmail.com>
Date: 2011-11-20 16:10:01

2011/11/20 Jiri Slaby [off-list ref]:
On 11/20/2011 04:43 PM, Nick Kossifidis wrote:
quoted
2011/11/20 Felix Fietkau [off-list ref]:
quoted
On 2011-11-20 8:56 AM, Nick Kossifidis wrote:
quoted
Use usleep_range where possible to reduce busy waits

Signed-off-by: Nick Kossifidis <mickflemm@gmail.com>
---
 drivers/net/wireless/ath/ath5k/attach.c |    2 +-
 drivers/net/wireless/ath/ath5k/pci.c    |    2 +-
 drivers/net/wireless/ath/ath5k/phy.c    |   22 +++++++++++-----------
 drivers/net/wireless/ath/ath5k/reset.c  |   14 +++++++-------
 4 files changed, 20 insertions(+), 20 deletions(-)
@@ -1454,7 +1454,7 @@ static int ath5k_hw_rf5110_calibrate(struct ath5k_hw *ah,
      beacon = ath5k_hw_reg_read(ah, AR5K_BEACON_5210);
      ath5k_hw_reg_write(ah, beacon & ~AR5K_BEACON_ENABLE, AR5K_BEACON_5210);

-     mdelay(2);
+     usleep_range(2000, 2500);

      /*
       * Set the channel (with AGC turned off)
@@ -1467,7 +1467,7 @@ static int ath5k_hw_rf5110_calibrate(struct ath5k_hw *ah,
       * Activate PHY and wait
       */
      ath5k_hw_reg_write(ah, AR5K_PHY_ACT_ENABLE, AR5K_PHY_ACT);
-     mdelay(1);
+     usleep_range(1000, 1500);

      AR5K_REG_DISABLE_BITS(ah, AR5K_PHY_AGC, AR5K_PHY_AGC_DISABLE);
Are you sure this is safe? This looks like it's being called from
tasklet context, and I think usleep_range is not allowed there.

- Felix
Reset runs in process context. Calls to reset are done directly from
non-interrupt context (e.g. during init) or through a work queue, not
a tasklet. They are also locked using a mutex lock, not a spinlock so
we should be fine.
But those two are not reset, but calibrate. And calibration is performed
in a tasklet.

thanks,
--
js
Just noticed I missed that part on 05, there is no need to run
calibration through a tasklet, will post an update on 05...


-- 
GPG ID: 0xEE878588
As you read this post global entropy rises. Have Fun ;-)
Nick
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help