linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Lockup in 2.4.2 kernel ADSL PCI card ATM driver module
@ 2001-06-14 16:37 dan.davidson
  2001-06-14 17:04 ` Mitchell Blank Jr
  0 siblings, 1 reply; 3+ messages in thread
From: dan.davidson @ 2001-06-14 16:37 UTC (permalink / raw)
  To: linux-kernel

Kernel community,

Sorry for intrusion, but I could use some guidance and/or direction in
tracking
down the source of a problem.  None of the messages I have seen in the
archives quite seem to match this problem (if there is one please let me
know).  I am looking for where or how to dig (deeper) to find the source of
the problem (described below).
Please CC me with any responses at
dan.davidson@conexant.com

Thanks much (in advance of any help),
Dan Davidson
dan.davidson@conexant.com
Conexant Systems, Inc.


SUBJECT:
Lockup in 2.4.2 kernel ADSL PCI card ATM driver module


DRIVER RESULTS:
Works fine in 2.4.0 kernel.
Locks up system (no messages/oops/etc.) in 2.4.2-2 kernel (rh 7.1).
Locks up system (no messages/oops/etc.) in 2.4.2 kernel (w/ or w/o kgdb).
Locks up system with "int 3" ??????? message in 2.4.2-ac28 kernel.


PROBLEM:
We are developing reference design Linux drivers for our PCI ADSL
reference design hardware.  We have had drivers working (not crashing
and able to transfer data) for kernel version 2.4.0.
Yet the same source code for the driver, compiled with each kernel
version, (and working fine for 2.4.0 kernel) causes system lockup
on 2.4.2 kernel versions.
The driver is a kernel module ATM driver for a Conexant PCI ADSL card.


SYSTEM:
Dell Dimension XPS 300
 Pentium II 300 MHz
 128MB RAM
 Maxtor 31024H2 (ATA) HD
 CDROM (ATAPI)
 Iomega Zip100 (ATAPI)
 1.44 FD
 3COM PCI ethernet
 Conexant PCI ADSL


FILES:
Several of the patch files, ".config" files, partial "System.map",
and output of dmesg can be found at "http://home.hiwaay.net/~rss1/linux"
and within the "2.4.0" and "2.4.2" subdirectories and the subdirectories
of "2.4.2" ("2", "ac28", and "kgdb").


2.4.0 KERNEL:
Start with Red Hat Linux 6.2 release.
Upgrade to kernel 2.4.0 (lilo for both 2.2.14-5 and 2.4.0)
applying patches "br2684-001212-against2.4.0.dif" and "atm-hdlc-patch"
and using "config.gz" as ".config".
Build kernel.
Install rpm "modutils-2.4.0-1.i386.rpm".
Install rpm "atm-0.78-1.i386.rpm".
Install Conexant ADSL driver.


2.4.2-2 (rh) KERNEL:
Start with Red Hat Linux 7.1 release.
Apply patches "br2684-001212-against2.4.2.dif" and "atm-hdlc-patch".
Configure kernel for:
 code maturity - experimental
 loadable module support - enable loadable and kernel module support
 networking options - enable ATM and classical IP over ATM
    and set to module enable LAN Emulation, multi-protocol over ATM,
    and RFC1483/2684 bridged protocols
 network device support - module enable PPP and PPPoATM
Build kernel.
Install rpm "atm-0.78-1.i386.rpm".
Install Conexant ADSL driver.


2.4.2-kgdb KERNEL:
Start with Red Hat Linux 7.1 release.
Add kernel 2.4.2 (lilo for both 2.4.2-2 and 2.4.2-kgdb)
Apply patch "linux-2.4.2-kgdb.patch".
Apply patches "br2684-001212-against2.4.2.dif" and "atm-hdlc-patch".
Configure kernel for:
 code maturity - experimental
 loadable module support - enable loadable and kernel module support
 networking options - enable ATM and classical IP over ATM
    and set to module enable LAN Emulation, multi-protocol over ATM,
    and RFC1483/2684 bridged protocols
 network device support - module enable PPP and PPPoATM
Build kernel.
Previously installed rpm "atm-0.78-1.i386.rpm".
Install Conexant ADSL driver.


2.4.2-ac28 KERNEL:
Start with Red Hat Linux 7.1 release.
Add kernel 2.4.2 (lilo for both 2.4.2-2, 2.4.2-kgdb, and 2.4.2-ac28)
Apply patch "patch-2.4.2-ac28".
Apply patches "br2684-001212-against2.4.2.dif" and "atm-hdlc-patch".
Configure kernel for:
 code maturity - experimental
 loadable module support - enable loadable and kernel module support
 networking options - enable ATM and classical IP over ATM
    and set to module enable LAN Emulation, multi-protocol over ATM,
    and RFC1483/2684 bridged protocols
 network device support - module enable PPP and PPPoATM
Build kernel.
Previously installed rpm "atm-0.78-1.i386.rpm".
Install Conexant ADSL driver.


MESSAGE GENERATED IN 2.4.2-ac28:
int 3: 0000
CPU:     0
EIP:     0010:[<c885478b>]
EFLAGS:  00000282
eax: c8854780   ebx: 00000000   ecx: c02873e8   edx: c100df74
esi: 00000000   edi: 00000000   ebp: c14e5f28   esp: c14e5f20
Process insmod (pid: 1401, stackpage-c14e5000)
Stack: c884d000 00000000 00000060 c0114c35 00000000 c0349000 000860a0
c034a000
       00000060 ffffffea 00000007 c6979fdc 00000060 c8845000 c884d060
000ae220
       00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
Call Trace: [<c884d000>] [<c0114c35>] [<c8845000>] [<c884d060>]
[<c0106ffb>] [<c
010002b>]

Code: 83 ec 0c 68 d0 17 8b c8 e8 e8 f6 8b f7 c7 04 24 00 18 8b c8
 make[1]: *** [start] Segmentation fault



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Lockup in 2.4.2 kernel ADSL PCI card ATM driver module
  2001-06-14 16:37 Lockup in 2.4.2 kernel ADSL PCI card ATM driver module dan.davidson
@ 2001-06-14 17:04 ` Mitchell Blank Jr
  0 siblings, 0 replies; 3+ messages in thread
From: Mitchell Blank Jr @ 2001-06-14 17:04 UTC (permalink / raw)
  To: dan.davidson; +Cc: linux-kernel

dan.davidson@conexant.com wrote:
> SUBJECT:
> Lockup in 2.4.2 kernel ADSL PCI card ATM driver module
> 
> 
> DRIVER RESULTS:
> Works fine in 2.4.0 kernel.
> Locks up system (no messages/oops/etc.) in 2.4.2-2 kernel (rh 7.1).
> Locks up system (no messages/oops/etc.) in 2.4.2 kernel (w/ or w/o kgdb).
> Locks up system with "int 3" ??????? message in 2.4.2-ac28 kernel.

First, please try with a recent 2.4.5ac kernel - a number of ATM bugfixes
have been made recently and they've been merged first with alan's
branch.  Anyway, there's a chance that you might just be hitting one of
those bugs that have already been fixed, so it'd be best to try that
first so we can exclude that possibility.

> MESSAGE GENERATED IN 2.4.2-ac28:
> int 3: 0000
> CPU:     0
> EIP:     0010:[<c885478b>]

Please read the REPORTING-BUGS and Documentation/oops-tracing.txt files
in the linux source tree - especially the parts about using the
"ksymoops" tool.  These numbers are useless to us unless you run it
through that tool first.

-Mitch

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Lockup in 2.4.2 kernel ADSL PCI card ATM driver module
@ 2001-06-15 18:13 dan.davidson
  0 siblings, 0 replies; 3+ messages in thread
From: dan.davidson @ 2001-06-15 18:13 UTC (permalink / raw)
  To: linux-kernel


I apologize to all for my first post!

To partly answer my own poorly documented problem:-

First, once the code added for the debugger (int3) was removed from
the driver, the driver worked fine with kernel version 2.4.2-ac28 (but
still not with 2.4.2-2rh or 2.4.2).

Second, with sincere apologies to all (some suffer from brain
lapses more than others), I neglected to mention that the system
hangs, in both 2.4.2-2rh and 2.4.2 kernels, when the driver
performs:
    ...
    save_flags(flags);
    cli();
    ...
    TimeRemain = interruptible_sleep_on_timeout(&pEvent->WaitQue,
WaitTime);
    restore_flags(flags);
    ...

Again note that there were not any code changes to the driver,
with the results that the driver worked for 2.4.0 and 2.4.2-ac28
but did not work for 2.4.2-2rh or 2.4.2.

Does anyone know if there was a bug introduced between 2.4.0 and 2.4.2
in the interruptible sleep area that was fixed by 2.4.2-ac28?
If not, then there might still be a timing related problem in our
driver (or possibly the kernel).

Thanks again,
Dan Davidson
dan.davidson@conexant.com
Conexant Systems, Inc.



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2001-06-15 18:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-14 16:37 Lockup in 2.4.2 kernel ADSL PCI card ATM driver module dan.davidson
2001-06-14 17:04 ` Mitchell Blank Jr
2001-06-15 18:13 dan.davidson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).