On Sun, Jan 26, 2014 at 8:50 PM, Sujith Manoharan <suj...@msujith.org> wrote: > Josh Boyer wrote: >> adds a udelay(10000) call to the ath9k driver. This will cause a >> build error on various ARM configs because the value passed to udelay >> is too large: >> >> ERROR: "__bad_udelay" [drivers/net/wireless/ath/ath9k/ath9k_hw.ko] undefined! >> make[1]: *** [__modpost] Error 1 >> make: *** [modules] Error 2 >> >> Is the 10000 microsecond udelay really required? I believe the limit >> on ARM is 2000. Perhaps something else could be done in this case? > > The delay is a workaround for a HW issue. Does this patch fix the problem ?
It fixes the build error, yes. I don't have actual HW to test, but the driver compiles on ARM now with the same config as before. Thanks! josh > > diff --git a/drivers/net/wireless/ath/ath9k/hw.c > b/drivers/net/wireless/ath/ath9k/hw.c > index fbf43c0..11eab9f 100644 > --- a/drivers/net/wireless/ath/ath9k/hw.c > +++ b/drivers/net/wireless/ath/ath9k/hw.c > @@ -1316,7 +1316,7 @@ static bool ath9k_hw_set_reset(struct ath_hw *ah, int > type) > if (AR_SREV_9300_20_OR_LATER(ah)) > udelay(50); > else if (AR_SREV_9100(ah)) > - udelay(10000); > + mdelay(10); > else > udelay(100); > > @@ -2051,9 +2051,8 @@ static bool ath9k_hw_set_power_awake(struct ath_hw *ah) > > REG_SET_BIT(ah, AR_RTC_FORCE_WAKE, > AR_RTC_FORCE_WAKE_EN); > - > if (AR_SREV_9100(ah)) > - udelay(10000); > + mdelay(10); > else > udelay(50); > > > Sujith _______________________________________________ ath9k-devel mailing list ath9k-devel@lists.ath9k.org https://lists.ath9k.org/mailman/listinfo/ath9k-devel