NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

RE: kernel lockup on 6.0 beta2 on cardbus insertion on Dell Inspiron 9100 laptop



Hi:

The new code with the "+" in the diff still generates a value of 2048,
unfortunately, which still crashes the kernel (silently).  I did test that
by recompiling...

A value of 512 does not crash, but the card doesn't quite work anyway, per
my previous postings.  Maybe code to handle this card has not been
integrated yet, so default values are wrong???

Probably several things going on here at the same time.

Maybe some parameters from this card (somewhat unknown to the system) have
not been initialized and are causing wrong values to be placed into the
structure???

Thanks,

John Refling

Purveyor of obsolete and unknown hardware which might not have ever existed.
Or not.



-----Original Message-----
From: netbsd-users-owner%NetBSD.org@localhost 
[mailto:netbsd-users-owner%NetBSD.org@localhost]
On Behalf Of Martin Husemann
Sent: Thursday, June 07, 2012 1:59 AM
To: John Refling
Cc: netbsd-users%NetBSD.org@localhost; dyoung%NetBSD.org@localhost
Subject: Re: kernel lockup on 6.0 beta2 on cardbus insertion on Dell
Inspiron 9100 laptop

Good catch.

I think this was meant to be:

Index: cardbus.c
===================================================================
RCS file: /cvsroot/src/sys/dev/cardbus/cardbus.c,v
retrieving revision 1.108
diff -u -r1.108 cardbus.c
--- cardbus.c   1 Aug 2011 11:20:27 -0000       1.108
+++ cardbus.c   7 Jun 2012 08:56:30 -0000
@@ -265,7 +265,7 @@
                        /* XXX byte order? */
                        bus_space_read_region_1(bar_tag, bar_memh,
                            cis_ptr, tuples,
-                           MIN(bar_size - MIN(bar_size, cis_ptr), len));
+                           MIN(bar_size-cis_ptr, len));
                        found++;
                }
                command = cardbus_conf_read(cc, cf, tag,


Can you try this?

David, you originally intrudced this:
----------------------------
revision 1.84
date: 2008/01/02 22:29:00;  author: dyoung;  state: Exp;  lines: +4 -3
Do not read past the CIS region.  Stops an MCHK exception on macppc
(reported by macallan@).

I originally detected this bug by activating 'PCI master target
abort' interrupts on the AMD Elan SC520 processor.  Lo and behold,
several interrupts occurred before the system had finished booting!
NetBSD should probably activate PCI exception reporting whenever
it is available.
----------------------------

Can you review/verify?

Thanks,

Martin



Home | Main Index | Thread Index | Old Index