Re: panics with CardBus

2002-03-16 Thread Gavin Atkinson

On Thu, 14 Mar 2002, M. Warner Losh wrote:

 In message: [EMAIL PROTECTED]
 Gavin Atkinson [EMAIL PROTECTED] writes:
 : The patches never fixed one of the panics I see, with a GlobalVillage
 : Ethernet/Modem card. The kernel still traps with a page fault in
 : pccard_scan_cis, however with the patches, this now nanifests itself with
 : the panic message vm_fault: fault on nofault entry.

 The pccard_scan_cis stuff is due to a memory mapping problem that I'm
 seeing on some cards.  :-(.

 I'm reverting back to an earlier version of the cardbus code for teh
 DP1 release and then trying again after DP1 is out.

With the reverted code, I still have th3e same panic problems. (see below)

I'm in no rush for this to work, it's only my backup modem, but if I can
help in any way, feel free to contact me off list.

Gavin



GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type show copying to see the conditions.
There is absolutely no warranty for GDB.  Type show warranty for details.
This GDB was configured as i386-unknown-freebsd...
IdlePTD at phsyical address 0x004e8000
initial pcb at physical address 0x003d0f00
panicstr: from debugger
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0xc9a3
fault code  = supervisor read, page not present
instruction pointer = 0x8:0xc01869d0
stack pointer   = 0x10:0xc8d12a18
frame pointer   = 0x10:0xc8d12c0c
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags= interrupt enabled, resume, IOPL = 0
current process = 2 (pccbb0)
panic: from debugger
panic: from debugger
Uptime: 17s
pfs_vncache_unload(): 1 entries remaining

dumping to dev ad0s1b, offset 454912
dump ata0: resetting devices .. done
127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 
106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 
80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 
51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 
22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
---
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:505
505 if (!dodump)
(kgdb) where
 [snipped stuff inside debugger]
#10 0xc030803b in trap (frame={tf_fs = -1062010856, tf_es = -925827056,
  tf_ds = -1072168944, tf_edi = 0, tf_esi = -1048517120,
  tf_ebp = -925815796, tf_isp = -925816316, tf_ebx = -1049120432,
  tf_edx = -912068608, tf_ecx = -1047923136, tf_eax = 4096,
  tf_trapno = 12, tf_err = 0, tf_eip = -1072141872, tf_cs = 8,
  tf_eflags = 66050, tf_esp = -1049120344, tf_ss = -1048517120})
at /usr/src/sys/i386/i386/trap.c:433
---Type return to continue, or q return to quit---
#11 0xc01869d0 in pccard_scan_cis (dev=0xc1816a80,
fct=0xc0187810 pccard_parse_cis_tuple, arg=0xc8d12c20)
at machine/bus_at386.h:202
#12 0xc0186861 in pccard_read_cis (sc=0xc0b3d000)
at /usr/src/sys/dev/pccard/pccard_cis.c:99
#13 0xc0184ddd in pccard_attach_card (dev=0xc1816a80)
at /usr/src/sys/dev/pccard/pccard.c:160
#14 0xc018b5a2 in pccbb_insert (sc=0xc0b3d200) at card_if.h:67
#15 0xc018b421 in pccbb_event_thread (arg=0xc0b3d200)
at /usr/src/sys/dev/pccbb/pccbb.c:867
#16 0xc01dfce4 in fork_exit (callout=0xc018b3c4 pccbb_event_thread,
arg=0xc0b3d200, frame=0xc8d12d48) at /usr/src/sys/kern/kern_fork.c:799
(kgdb) f 11
#11 0xc01869d0 in pccard_scan_cis (dev=0xc1816a80,
fct=0xc0187810 pccard_parse_cis_tuple, arg=0xc8d12c20)
at machine/bus_at386.h:202
202 return (inb(handle + offset));
(kgdb) l
197 {
198 #if defined (_I386_BUS_PIO_H_)
199 #if defined (_I386_BUS_MEMIO_H_)
200 if (tag == I386_BUS_SPACE_IO)
201 #endif
202 return (inb(handle + offset));
203 #endif
204 #if defined (_I386_BUS_MEMIO_H_)
205 return (*(volatile u_int8_t *)(handle + offset));
206 #endif
(kgdb) p handle
$1 = 0
(kgdb) p offset
$2 = 0
(kgdb) up
#12 0xc0186861 in pccard_read_cis (sc=0xc0b3d000)
at /usr/src/sys/dev/pccard/pccard_cis.c:99
99  if (pccard_scan_cis(sc-dev, pccard_parse_cis_tuple,
(kgdb) l
94  state.card-product = PCMCIA_PRODUCT_INVALID;
95  STAILQ_INIT(state.card-pf_head);
96
97  state.pf = NULL;
98
99  if (pccard_scan_cis(sc-dev, pccard_parse_cis_tuple,
100 state) == -1)
101 state.card-error++;
102 }
103
(kgdb) l -
84  state.card = sc-card;
85
86  state.card-error = 0;
87  state.card-cis1_major = -1;
88  state.card-cis1_minor = -1;
89  state.card-cis1_info[0] = 

Re: panics with CardBus

2002-03-14 Thread Gavin Atkinson

On Mon, 11 Mar 2002, M. Warner Losh wrote:

 John Baldwin also cornered me about these panics.  I'll be looking at
 them tonight.  I think he gave me a good way to recreate them.

The patches never fixed one of the panics I see, with a GlobalVillage
Ethernet/Modem card. The kernel still traps with a page fault in
pccard_scan_cis, however with the patches, this now nanifests itself with
the panic message vm_fault: fault on nofault entry.

I am more than happy to help debug this.

Gavin


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: panics with CardBus

2002-03-14 Thread M. Warner Losh

In message: [EMAIL PROTECTED]
Gavin Atkinson [EMAIL PROTECTED] writes:
: On Mon, 11 Mar 2002, M. Warner Losh wrote:
: 
:  John Baldwin also cornered me about these panics.  I'll be looking at
:  them tonight.  I think he gave me a good way to recreate them.
: 
: The patches never fixed one of the panics I see, with a GlobalVillage
: Ethernet/Modem card. The kernel still traps with a page fault in
: pccard_scan_cis, however with the patches, this now nanifests itself with
: the panic message vm_fault: fault on nofault entry.
: 
: I am more than happy to help debug this.

The pccard_scan_cis stuff is due to a memory mapping problem that I'm
seeing on some cards.  :-(.

I'm reverting back to an earlier version of the cardbus code for teh
DP1 release and then trying again after DP1 is out.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: panics with CardBus

2002-03-11 Thread Gavin Atkinson


On Mon, 11 Mar 2002, Michal Mertl wrote:

 I get panics for about 2 weeks (last tested with todays current - it's
 more unstable than friday's build - it crashed only when boot_verbose was
 set, now it sometimes crashes several times in a row).

I was about to post about the same problems. I am using -CURRENT as of
last week, and have three different PCMCIA cards which cause me problems.

The first is also a Xircom 10/100 RBE-100 cardbus card (though mine has no
serial port) If bootverbose=0, no panic occurs. (though the dc driver
still fails to attach it, being unable to find a PHY). With bootverbose=1,
inserting the card will panic the machine. pci_print_verbose() calls
pci_read_config while cfg-dev=0x0, and so device_get_parent() blows up.

The second card I have, GlobalVillage Powerport Platinum Pro A390
combined modem and ethernet card, will panic upon insert with a page
fault in pccard_scan_cis with a page fault. The page fault is caused by
trying to read memory location zero through pccard_cis_read_1
(/usr/src/sys/dev/pccard/pccard_cis.c v1.18 line 155)

The third card I have, a Hayes PCMCIA modem, will hang the laptop solid
after being detected correctly and after printing the sio4: line.

As a possible datapoint, the latter two cards have no problem under
-STABLE. I am happy to supply the vmcore and kernel files to people who
contact me off list, and am also able to post the cards to anyone who I
know as a FreeBSD developer as long as I get them back...

Thanks,

Gavin


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: panics with CardBus

2002-03-11 Thread M. Warner Losh

John Baldwin also cornered me about these panics.  I'll be looking at
them tonight.  I think he gave me a good way to recreate them.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message