> -----Original Message----- > From: Johannes Berg [mailto:johannes@xxxxxxxxxxxxxxxx] > Sent: Monday, March 30, 2015 12:11 > To: Peer, Ilan > Cc: linux-wireless@xxxxxxxxxxxxxxx; mcgrof@xxxxxxxx > Subject: Re: [PATCH] cfg80211: Stop calling crda if it is not responsive > > On Sun, 2015-03-29 at 09:18 +0300, Ilan Peer wrote: > > Patch eeca9fce1d71a4955855ceb0c3b13c1eb9db27c1 (cfg80211: > Schedule > > timeout for all CRDA call) introduced a regression, where in case that > > crda is not installed (or not configured properly etc.), the > > regulatory core will needlessly continue to call it. > > And print a message, which was the complaint :) Will fix. > > > @@ -544,6 +549,11 @@ static int call_crda(const char *alpha2) > > /* query internal regulatory database (if it exists) */ > > reg_regdb_query(alpha2); > > > > + if (reg_crda_timeouts > REG_MAX_CRDA_TIMEOUTS) { > > + pr_info("Exceeded CRDA call max attempts. Not calling > CRDA\n"); > > + return -EINVAL; > > + } > > and won't this just trade one message for another?? > The original issue introduced in the previous patch, was that in case that crda is not responsive, on each timeout, a new flow to crda was issued. So with this change, upon reaching the limit, crda will not be called and no timeout would be scheduled, so this would break the loop. > Or in fact, duplicate messages - 'calling crda' followed by 'exceeded'? > I'll clear this one. Regards, Ilan. ��.n��������+%������w��{.n�����{���zW����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f