sigmalll Guru
Joined: 24 Aug 2003 Posts: 332
|
Posted: Thu Jun 09, 2005 9:26 am Post subject: PCMCIA -> cardctl eject -> segfault |
|
|
I have a PCMCIA CF adapter, I insert it into my laptop and I an able to mount the new drive, perfect. The problem comes when I unmount and then try to eject the card. Just poping the card out gives me a kernel panic. It seems the problem is with cardctrl segfaulting.
EDIT: Just like to add, I have all the relvent kernel bits compiled into the kernel, not as modules.
Code: |
.......insert card........
bountybob ninjafoo #dmesg
[snip snip snip]
cs: memory probe 0x0c0000-0x0fffff: excluding 0xc0000-0xcbfff 0xe0000-0xfffff
cs: memory probe 0x60000000-0x60ffffff: clean.
cs: memory probe 0xa0000000-0xa0ffffff: clean.
Probing IDE interface ide1...
hdc: Hitachi XXM2.3.0, CFA DISK drive
ide1 at 0x100-0x107,0x10e on irq 9
hdc: max request size: 128KiB
hdc: 31488 sectors (16 MB) w/1KiB Cache, CHS=246/4/32
hdc: cache flushes not supported
/dev/ide/host1/bus0/target0/lun0: p1
ide-cs: hdc: Vcc = 3.3, Vpp = 0.0
bountybob ninjafoo # mount /mnt/cf
bountybob ninjafoo # ls /mnt/cf
haeapi intranet
bountybob ninjafoo # umount /mnt/cf
bountybob ninjafoo # cardctl eject 0
Segmentation fault
bountybob ninjafoo # dmesg
[snip snip snip]
Unable to handle kernel NULL pointer dereference at virtual address 00000010
printing eip:
c02d0672
*pde = 00000000
Oops: 0000 [#1]
PREEMPT
Modules linked in:
CPU: 0
EIP: 0060:[<c02d0672>] Not tainted VLI
EFLAGS: 00210292 (2.6.12-rc3-mm3)
EIP is at ide_drive_remove+0x12/0x20
eax: c05a47dc ebx: c05a4924 ecx: c05a48c4 edx: 00000000
esi: c05a48c4 edi: c0500078 ebp: c0e04000 esp: c0e05d88
ds: 007b es: 007b ss: 0068
Process cardctl (pid: 11567, threadinfo=c0e04000 task=c0d3e560)
Stack: c05a47dc c02a4095 c05a48c4 c04561a7 c05a48c4 c05a4cf4 00000000 c02a3826
c05a48c4 c05a48c4 c05a48c4 c02a29a2 c05a48c4 00000000 c05a48c4 c05a47dc
c02a2a13 c05a48c4 c05a474c c02cec0d c05a48c4 c4104960 c05a474c 00000001
Call Trace:
[<c02a4095>] device_release_driver+0x95/0xa0
[<c02a3826>] bus_remove_device+0x76/0x90
[<c02a29a2>] device_del+0x32/0x90
[<c02a2a13>] device_unregister+0x13/0x30
[<c02cec0d>] ide_unregister+0x3ed/0x510
[<c03035c0>] send_event_callback+0x0/0x60
[<c02e3bc3>] ide_release+0x73/0x80
[<c02e3c1e>] ide_event+0x4e/0xd0
[<c040f164>] klist_next+0x44/0x90
[<c0303612>] send_event_callback+0x52/0x60
[<c02a3539>] bus_for_each_dev+0x69/0x80
[<c030365e>] send_event+0x3e/0x50
[<c03035c0>] send_event_callback+0x0/0x60
[<c0303753>] ds_event+0xe3/0x110
[<c02fd876>] send_event+0xa6/0x150
[<c02fd955>] socket_remove_drivers+0x35/0x60
[<c02fd9a3>] socket_shutdown+0x23/0x70
[<c02fe063>] socket_remove+0x13/0x70
[<c02fe6fc>] pcmcia_eject_card+0x7c/0xa0
[<c0306506>] ds_ioctl+0x266/0x69d
[<c01720b0>] do_ioctl+0x70/0xa0
[<c0172295>] vfs_ioctl+0x65/0x1f0
[<c0172465>] sys_ioctl+0x45/0x70
[<c010317b>] sysenter_past_esp+0x54/0x75
Code: 8b 46 08 a8 08 75 04 31 c0 eb 82 e8 69 f6 13 00 eb f5 e8 62 f6 13 00 eb b8 83 ec 04 8b 44 24 08 2d e8 00 00 00 8b 50 1c 89 04 24 <ff> 52 10 31 c0 5a c3 8d b4 26 00 00 00 00 55 57 56 53 83 ec 0c
<7>ds: ds_release(socket 0)
|
|
|