All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cyrill Gorcunov <gorcunov@gmail.com>
To: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Cc: Johannes Berg <johannes@sipsolutions.net>,
	Arjan van de Ven <arjan@infradead.org>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	ipw2100-devel@lists.sourceforge.net,
	linux-wireless@vger.kernel.org, yi.zhu@intel.com,
	reinette.chatre@intel.com, jgarzik@pobox.com,
	linville@tuxdriver.com, davem@davemloft.net
Subject: Re: Mark IPW2100 as BROKEN: Fatal interrupt. Scheduling firmware restart.
Date: Mon, 22 Sep 2008 00:05:18 +0400	[thread overview]
Message-ID: <20080921200518.GK7736@localhost> (raw)
In-Reply-To: <20080921193809.GA8735@2ka.mipt.ru>

[Evgeniy Polyakov - Sun, Sep 21, 2008 at 11:38:09PM +0400]
| Hi.
| 
| On Sun, Sep 21, 2008 at 09:14:04PM +0200, Johannes Berg (johannes@sipsolutions.net) wrote:
| > > Do you want me to implement ipw2100 driver as a big work structure
| > > which will run ipw2100_init()/wait/ipw2100_exit() in a loop?
| > > And that will be the fix suggested by Intel? That would explain a lot.
| > 
| > I think what Arjan is saying is that it would be better to put pressure
| > on the responsible folks (I don't think Arjan is anywhere near them at
| 
| Both maintainers were added to the copy list.
| 
| > all) if you'd put in a WARN_ON() for this error and that would make the
| > top entry on kerneloops.org all the time... And additionally put in a
| > workaround for yourself for now.
| 
| As I pointed, I can rewrite the whole driver's initialization process,
| so that it looked like init/wait/exit loop, which can be processed at
| the module load and when fatal interrupt fires. Do this a fix? This is
| not even a remotely workaround. We can just add
| rmmod/modprobe/ifdown/ifup to the crontab job. Another users reported in
| bugzilla that they needed to reboot a machine to make card working
| again. I'm not sure that user tried to do a rmmod/modprobe though.
| 
| > And can we keep the flames off this list please? That comment from Wei
| > Weng was absolutely uncalled for, and inciting a flamewar (as you have
| > already blogged) was not really productive either.
| 
| If we will keep silence, no one will notice that problem exists.
| 
| I do hope this will result in a progress. Arjan, do you aggree to add
| this patch to the current tree?
| 
| diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c
| index 19a401c..9a7b64c 100644
| --- a/drivers/net/wireless/ipw2100.c
| +++ b/drivers/net/wireless/ipw2100.c
| @@ -206,6 +206,8 @@ MODULE_PARM_DESC(disable, "manually disable the radio (default 0 [radio on])");
|  
|  static u32 ipw2100_debug_level = IPW_DL_NONE;
|  
| +static int ipw2100_max_fatal_ints = 10;
| +
|  #ifdef CONFIG_IPW2100_DEBUG
|  #define IPW_DEBUG(level, message...) \
|  do { \
| @@ -3174,6 +3176,10 @@ static void ipw2100_irq_tasklet(struct ipw2100_priv *priv)
|  	if (inta & IPW2100_INTA_FATAL_ERROR) {
|  		printk(KERN_WARNING DRV_NAME
|  		       ": Fatal interrupt. Scheduling firmware restart.\n");
| +		WARN_ON(1);
| +
| +		BUG_ON(ipw2100_max_fatal_ints-- <= 0);
| +
|  		priv->inta_other++;
|  		write_register(dev, IPW_REG_INTA, IPW2100_INTA_FATAL_ERROR);
|  
| 
| 
| -- 
| 	Evgeniy Polyakov
| 

Since it's that serious maybe we should change

		IPW_DEBUG_INFO("%s: Fatal error value: 0x%08X\n",
			       priv->net_dev->name, priv->fatal_error);

to printk(KERN_WARN)? And here is why - as I see now we can't say what
exactly is wrong - Evgeniy said he has a suspicious about firmware so
this WARNS will be collected by Arjan thru kerneloops and we could not
ask users to change debug level and repost problem - oops will have it
by default - and if it really firmware problem - firmware engineers could
find this _additional_ info usefull and resolve it (probably).

		- Cyrill -

WARNING: multiple messages have this Message-ID (diff)
From: Cyrill Gorcunov <gorcunov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Evgeniy Polyakov <johnpol-9fLWQ3dKdXwox3rIn2DAYQ@public.gmane.org>
Cc: Johannes Berg <johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>,
	Arjan van de Ven <arjan-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	ipw2100-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	yi.zhu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
	reinette.chatre-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
	jgarzik-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org,
	linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org,
	davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org
Subject: Re: Mark IPW2100 as BROKEN: Fatal interrupt. Scheduling firmware restart.
Date: Mon, 22 Sep 2008 00:05:18 +0400	[thread overview]
Message-ID: <20080921200518.GK7736@localhost> (raw)
In-Reply-To: <20080921193809.GA8735-9fLWQ3dKdXwox3rIn2DAYQ@public.gmane.org>

[Evgeniy Polyakov - Sun, Sep 21, 2008 at 11:38:09PM +0400]
| Hi.
| 
| On Sun, Sep 21, 2008 at 09:14:04PM +0200, Johannes Berg (johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org) wrote:
| > > Do you want me to implement ipw2100 driver as a big work structure
| > > which will run ipw2100_init()/wait/ipw2100_exit() in a loop?
| > > And that will be the fix suggested by Intel? That would explain a lot.
| > 
| > I think what Arjan is saying is that it would be better to put pressure
| > on the responsible folks (I don't think Arjan is anywhere near them at
| 
| Both maintainers were added to the copy list.
| 
| > all) if you'd put in a WARN_ON() for this error and that would make the
| > top entry on kerneloops.org all the time... And additionally put in a
| > workaround for yourself for now.
| 
| As I pointed, I can rewrite the whole driver's initialization process,
| so that it looked like init/wait/exit loop, which can be processed at
| the module load and when fatal interrupt fires. Do this a fix? This is
| not even a remotely workaround. We can just add
| rmmod/modprobe/ifdown/ifup to the crontab job. Another users reported in
| bugzilla that they needed to reboot a machine to make card working
| again. I'm not sure that user tried to do a rmmod/modprobe though.
| 
| > And can we keep the flames off this list please? That comment from Wei
| > Weng was absolutely uncalled for, and inciting a flamewar (as you have
| > already blogged) was not really productive either.
| 
| If we will keep silence, no one will notice that problem exists.
| 
| I do hope this will result in a progress. Arjan, do you aggree to add
| this patch to the current tree?
| 
| diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c
| index 19a401c..9a7b64c 100644
| --- a/drivers/net/wireless/ipw2100.c
| +++ b/drivers/net/wireless/ipw2100.c
| @@ -206,6 +206,8 @@ MODULE_PARM_DESC(disable, "manually disable the radio (default 0 [radio on])");
|  
|  static u32 ipw2100_debug_level = IPW_DL_NONE;
|  
| +static int ipw2100_max_fatal_ints = 10;
| +
|  #ifdef CONFIG_IPW2100_DEBUG
|  #define IPW_DEBUG(level, message...) \
|  do { \
| @@ -3174,6 +3176,10 @@ static void ipw2100_irq_tasklet(struct ipw2100_priv *priv)
|  	if (inta & IPW2100_INTA_FATAL_ERROR) {
|  		printk(KERN_WARNING DRV_NAME
|  		       ": Fatal interrupt. Scheduling firmware restart.\n");
| +		WARN_ON(1);
| +
| +		BUG_ON(ipw2100_max_fatal_ints-- <= 0);
| +
|  		priv->inta_other++;
|  		write_register(dev, IPW_REG_INTA, IPW2100_INTA_FATAL_ERROR);
|  
| 
| 
| -- 
| 	Evgeniy Polyakov
| 

Since it's that serious maybe we should change

		IPW_DEBUG_INFO("%s: Fatal error value: 0x%08X\n",
			       priv->net_dev->name, priv->fatal_error);

to printk(KERN_WARN)? And here is why - as I see now we can't say what
exactly is wrong - Evgeniy said he has a suspicious about firmware so
this WARNS will be collected by Arjan thru kerneloops and we could not
ask users to change debug level and repost problem - oops will have it
by default - and if it really firmware problem - firmware engineers could
find this _additional_ info usefull and resolve it (probably).

		- Cyrill -
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2008-09-21 20:05 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-21 17:23 Mark IPW2100 as BROKEN: Fatal interrupt. Scheduling firmware restart Evgeniy Polyakov
2008-09-21 17:23 ` Evgeniy Polyakov
2008-09-21 17:36 ` Michael Buesch
2008-09-21 17:36   ` Michael Buesch
2008-09-21 17:38   ` Evgeniy Polyakov
2008-09-21 17:38     ` Evgeniy Polyakov
2008-09-21 18:04 ` Arjan van de Ven
2008-09-21 18:28   ` Evgeniy Polyakov
2008-09-21 18:35     ` Arjan van de Ven
2008-09-21 18:52       ` Wei Weng
2008-09-21 18:52         ` Wei Weng
2008-09-21 19:20         ` Arjan van de Ven
2008-09-21 19:00       ` Evgeniy Polyakov
2008-09-21 19:00         ` Evgeniy Polyakov
2008-09-21 19:14         ` Johannes Berg
2008-09-21 19:14           ` Johannes Berg
2008-09-21 19:38           ` Evgeniy Polyakov
2008-09-21 19:43             ` Arjan van de Ven
2008-09-21 19:43               ` Arjan van de Ven
2008-09-21 20:20               ` Evgeniy Polyakov
2008-09-21 20:27                 ` Arjan van de Ven
2008-09-21 20:27                   ` Arjan van de Ven
2008-09-21 20:57                   ` Evgeniy Polyakov
2008-09-21 20:57                     ` Evgeniy Polyakov
2008-09-21 21:02                     ` Arjan van de Ven
2008-09-21 21:02                       ` Arjan van de Ven
2008-09-21 21:05                       ` Evgeniy Polyakov
2008-09-21 21:05                         ` Evgeniy Polyakov
2008-09-21 21:14                         ` Arjan van de Ven
2008-09-21 21:14                           ` Arjan van de Ven
2008-09-21 21:43                         ` Denys Fedoryshchenko
2008-09-21 22:07                           ` Evgeniy Polyakov
2008-09-21 22:07                             ` Evgeniy Polyakov
2008-09-21 22:15                             ` Denys Fedoryshchenko
2008-09-21 22:15                               ` Denys Fedoryshchenko
2008-09-21 23:46                               ` Evgeniy Polyakov
2008-09-21 23:46                                 ` Evgeniy Polyakov
2008-09-21 23:27                         ` Marcel Holtmann
2008-09-21 23:27                           ` Marcel Holtmann
2008-09-22  0:00                           ` Evgeniy Polyakov
2008-09-22  0:00                             ` Evgeniy Polyakov
2008-09-21 22:38                     ` Alan Cox
2008-09-21 22:38                       ` Alan Cox
2008-09-21 23:44                       ` Evgeniy Polyakov
2008-09-21 23:44                         ` Evgeniy Polyakov
2008-09-21 23:48                         ` David Miller
2008-09-21 23:48                           ` David Miller
2008-09-22  0:18                           ` Evgeniy Polyakov
2008-09-22 14:22                         ` Bill Davidsen
2008-09-21 20:05             ` Cyrill Gorcunov [this message]
2008-09-21 20:05               ` Cyrill Gorcunov
2008-09-21 20:26               ` Evgeniy Polyakov
2008-09-21 20:26                 ` Evgeniy Polyakov
2008-09-21 20:35                 ` Cyrill Gorcunov
2008-09-21 20:35                   ` Cyrill Gorcunov
2008-09-21 21:06                   ` Evgeniy Polyakov
2008-09-21 21:06                     ` Evgeniy Polyakov
2008-09-21 19:57         ` Alan Cox
2008-09-21 19:57           ` Alan Cox
2008-09-21 21:10           ` Evgeniy Polyakov
2008-09-21 21:10             ` Evgeniy Polyakov
2008-09-26  5:56           ` Evgeniy Polyakov
2008-09-26  5:56             ` Evgeniy Polyakov
2008-09-21 19:35 ` Marcel Holtmann
2008-09-21 21:12   ` Evgeniy Polyakov
2008-09-21 21:12     ` Evgeniy Polyakov
2008-09-21 22:45   ` Matthew Garrett
2008-09-21 22:45     ` Matthew Garrett
2008-09-21 22:42 ` Matthew Garrett
2008-09-21 22:42   ` Matthew Garrett
2008-09-21 23:45   ` Evgeniy Polyakov
2008-09-22 16:21 ` [Ipw2100-devel] " Kenneth Crudup

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=20080921200518.GK7736@localhost \
    --to=gorcunov@gmail.com \
    --cc=arjan@infradead.org \
    --cc=davem@davemloft.net \
    --cc=ipw2100-devel@lists.sourceforge.net \
    --cc=jgarzik@pobox.com \
    --cc=johannes@sipsolutions.net \
    --cc=johnpol@2ka.mipt.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=netdev@vger.kernel.org \
    --cc=reinette.chatre@intel.com \
    --cc=yi.zhu@intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.