mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Michael Frank <mflt1@micrologica.com.hk>
To: Andrew Morton <akpm@osdl.org>
Cc: rmk@arm.linux.org.uk, daniel.ritz@gmx.ch,
	linux-kernel@vger.kernel.org, linux-pcmcia@lists.infradead.org
Subject: Re: 2.5.74-mm3 yenta-socket oops back
Date: Thu, 10 Jul 2003 15:09:03 +0800	[thread overview]
Message-ID: <200307101448.58180.mflt1@micrologica.com.hk> (raw)
In-Reply-To: <20030709213010.1882a898.akpm@osdl.org>

On Thursday 10 July 2003 12:30, Andrew Morton wrote:
> Michael Frank <mflt1@micrologica.com.hk> wrote:
> > 2.5.74-mm3 yenta-socket oopsed on the first boot at the same spot.
> >
> > I have successfully used both patches below with -mm1.
> >
> > --- 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;
>
> This one is clearly correct.
>
> > 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 */
>
> This one may not be.  How did we get here with no thread to handle the
> event?  Do you have an oops trace on this one?
>

Is called from interrupt handler. Seems that events occur before the 
thread is created.

No serial port, Oops taken from screen 
unable to handle null pointer dereference at 0
oops: 0000 #1
EFLAGS 00010086
EIP is at __wake_up_common+0x13
eax ce09c9c0 ebx 286 ecx 1 edx 0
esi 1 edi 0 ebp ccc67dcc esp ccc67dc0
ds 7b es 7b ss 68
Process modprobe pid 1153 threadinfo ccc66000 task cd68e080
Stack: 286 4000001 0 ccc67de8 c011afa1 ce09c9c0 3 1 
       0 ce09c800 ccc67df0 cf8a3ecf cccc67e04 cf87a7ea ce09c830 80
       cdffec00 ccc67e24 c010d0aa 5 ce09c800 ccc67e50 280 5
Call trace:
__wake_up+0x11
pcmcia_parse_events+0x23
yenta_interrupt+0x26
handle_IRQ_event+0x2a
do_IRQ+0x82
common_interrupt+0x18
setup_irq+0x9b
yenta_interrupt+0x0
request_irq+0x89
yenta_probe+0x137
yenta_interrupt+0x0
pci_device_probe_static+0x20
pci_device_probe+0x21
bus_match+0x38
driver_attach+0x3e
bus_add_driver+0x6e
driver_register+0x36
pci_register_driver+0x6a
yenta_socket_init+0xd
sys_init_module+0xe0
syscall_call+0x7
Code: 8b 3a 8b 45 08 83 c0 04 39 c2 74 23 8b 5a f4 8b 4d 14 51 8b
 <0> Fatal exception in interrupt
In interrupt handler - not syncing


> Or just stick a
>
> 	if (!s->thread)
> 		dump_stack();
>
> in there as well.

Applied rmk's patch and the above to -mm3 and send the stack trace once obtained.

Regards
Michael 


-- 
Powered by linux-2.5.74-mm3. 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 for 2.4/2.5 and ACPI S3 of 2.5 kernel 
- Everyday usage of 2.5 kernel

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


  reply	other threads:[~2003-07-10  7:03 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-05 22:39 yenta-socket oops with 2.5.73-mm3, 2.5.74, 2.5.74-mm1 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
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 [this message]
2003-07-10  7:56         ` Andrew Morton
2003-07-10 10:08       ` Russell King

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=200307101448.58180.mflt1@micrologica.com.hk \
    --to=mflt1@micrologica.com.hk \
    --cc=akpm@osdl.org \
    --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®