mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Michael Frank <mflt1@micrologica.com.hk>
To: Russell King <rmk@arm.linux.org.uk>, Daniel Ritz <daniel.ritz@gmx.ch>
Cc: linux-kernel <linux-kernel@vger.kernel.org>,
	linux-pcmcia <linux-pcmcia@lists.infradead.org>
Subject: Re: yenta-socket oops with 2.5.73-mm3, 2.5.74, 2.5.74-mm1
Date: Mon, 7 Jul 2003 10:02:24 +0800	[thread overview]
Message-ID: <200307070958.56751.mflt1@micrologica.com.hk> (raw)
In-Reply-To: <20030706231551.B16820@flint.arm.linux.org.uk>

Applied both patches without offsets.

Did 20 halt cycles with e100 loaded - no oopses. Seems to
be fixed. 

The oops without e100 seems to be fixed too but needs more 
watching as it's probability increases when power is off for 
longer than the short time in above test where power is switched
on again within a few seconds after the halt.

Regards
Michael


On Monday 07 July 2003 06:15, Russell King wrote:
> On Sun, Jul 06, 2003 at 12:39:34AM +0200, Daniel Ritz wrote:
> > problem is that an interrupt arrives before socket->thread_wait is
> > initialized so we crash in __wake_up_common. i think source of the
> > interrupt is socket_init called before the initialization. but an
> > interrupt can still arrive before...
>
> I suspect that even with your patch below, there is the posibility
> to receive an unintentional call into pcmcia_parse_events() from some
> socket drivers.  The all round better fix is to make pcmcia_parse_events()
> ignore socket change events until the socket thread is up and running.
>
> Nevertheless, the patch looks correct, so I am still interested in
> whether your patch helps solve Michael's problem.
>
> > michael, can you try this one?
>
> Daniel's patch:
>
> --- 1.50/drivers/pcmcia/cs.c	Mon Jun 30 22:22:30 2003
> +++ edited/cs.c	Sat Jul  5 23:58:07 2003
> @@ -338,13 +338,13 @@
>  	socket->erase_busy.next = socket->erase_busy.prev = &socket->erase_busy;
>  	INIT_LIST_HEAD(&socket->cis_cache);
>  	spin_lock_init(&socket->lock);
> -
> -	init_socket(socket);
> -
>  	init_completion(&socket->thread_done);
>  	init_waitqueue_head(&socket->thread_wait);
>  	init_MUTEX(&socket->skt_sem);
>  	spin_lock_init(&socket->thread_lock);
> +
> +	init_socket(socket);
> +
>  	ret = kernel_thread(pccardd, socket, CLONE_KERNEL);
>  	if (ret < 0)
>  		return ret;
>
> and my patch (may apply with some offset, which I'm about to check
> into bk anyway):
>
> --- linux/drivers/pcmcia/cs.c.old	Fri Jul  4 10:21:50 2003
> +++ linux/drivers/pcmcia/cs.c	Sun Jul  6 23:04:10 2003
> @@ -870,11 +870,13 @@
>
>  void pcmcia_parse_events(struct pcmcia_socket *s, u_int events)
>  {
> -	spin_lock(&s->thread_lock);
> -	s->thread_events |= events;
> -	spin_unlock(&s->thread_lock);
> +	if (s->thread) {
> +		spin_lock(&s->thread_lock);
> +		s->thread_events |= events;
> +		spin_unlock(&s->thread_lock);
>
> -	wake_up(&s->thread_wait);
> +		wake_up(&s->thread_wait);
> +	}
>  } /* pcmcia_parse_events */

-- 
Powered by linux-2.5.74-mm1. Compiled with gcc-2.95-3 - mature and rock solid

My current linux related activities:
- 2.5 yenta_socket testing
- Test development and testing of swsusp and ACPI S3
- Everyday usage of 2.5 kernel

More info on 2.5 kernel: http://www.codemonkey.org.uk/post-halloween-2.5.txt


  reply	other threads:[~2003-07-07  1:52 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-05 22:39 Daniel Ritz
2003-07-06  3:26 ` Michael Frank
2003-07-06  7:45   ` Russell King
2003-07-06 13:14     ` Michael Frank
2003-07-06 22:15 ` Russell King
2003-07-07  2:02   ` Michael Frank [this message]
2003-07-10  3:27   ` 2.5.74-mm3 yenta-socket oops back Michael Frank
2003-07-10  4:30     ` Andrew Morton
2003-07-10  7:09       ` Michael Frank
2003-07-10  7:56         ` Andrew Morton
2003-07-10 10:08       ` Russell King
     [not found] <6412.5pV.9@gated-at.bofh.it>
     [not found] ` <68xC.6U.1@gated-at.bofh.it>
2003-07-06 16:56   ` yenta-socket oops with 2.5.73-mm3, 2.5.74, 2.5.74-mm1 Claus-Justus Heine
  -- strict thread matches above, loose matches on Subject: below --
2003-07-04  1:10 Michael Frank
2003-07-05 10:05 ` Michael Frank

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=200307070958.56751.mflt1@micrologica.com.hk \
    --to=mflt1@micrologica.com.hk \
    --cc=daniel.ritz@gmx.ch \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pcmcia@lists.infradead.org \
    --cc=rmk@arm.linux.org.uk \
    /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

all inboxes | Powered by JetHome®