Re: 2.6.12-rc3-mm1

Andrew Morton
2005-04-30T19:50:57Z

"Richard Purdie" <rpurdie@rpsys.net> wrote:
>
> ...
> The config I'm using is at http://www.rpsys.net/openzaurus/defconfig-c7x0
> if needed.
>
> I'm also seeing problems with CompactFlash cards (I also saw this with
> 2.6.12-rc2-mm3, other versions are untested). I'm using pcmcia-cs (not
> pcmciautils) but that shouldn't be a problem as I understand things. The
> card mounts fine as the machine boots and I can access it fine. Trying to
> eject the card causes problems:
>
> Normally I can execute "cardctl eject" and then remove the card. I trigger
> the oops below however I try to eject the card under this kernel though.
> (Note: I never physically remove it here although that will also trigger an
> oops). I suspect this is a further problem with ide-cs (which nobody has
> both the knowledge and time to fix) although I'm open to advice as to where
> the fault lies:
>
> root@c7x0:~# cardcmgr
> cardmgr[1932]: watching 1 socket
> root@c7x0:~# hda: Flash Card, CFA DISK drive
> ide0 at 0xc2860000-0xc2860007,0xc286000e on irq 40
> hda: max request size: 128KiB
> hda: 254464 sectors (130 MB) w/0KiB Cache, CHS=994/8/32
> hda: cache flushes not supported
> hda: hda1
> ide-cs: hda: Vcc = 3.3, Vpp = 0.0
> hda: hda1
>
> [drive gets automounted]
>
> root@c7x0:~# umount /dev/hda1
> root@c7x0:~# cardctl eject
> Unable to handle kernel NULL pointer dereference at virtual address 00000010

It'd be very useful if you could test this on 2.6.12-rc3, please.

> pgd = c17ec000
> [00000010] *pgd=a17a8031, *pte=00000000, *ppte=00000000
> Internal error: Oops: 17 [#1]
> Modules linked in:
> CPU: 0
> PC is at ide_drive_remove+0x1c/0x28
> LR is at ide_drive_remove+0x20/0x28
> pc : [<c0153b18>] lr : [<c0153b1c>] Not tainted
> sp : c1685cb8 ip : c1685cc8 fp : c1685cc4
> r10: c03ee404 r9 : c029b6e8 r8 : 00000000
> r7 : c029b8c0 r6 : c029b908 r5 : c0254ad0 r4 : c029b860
> r3 : 00000000 r2 : c029b778 r1 : 00000003 r0 : c029b778
> Flags: NzCv IRQs on FIQs on Mode SVC_32 Segment user
> Control: 397F Table: A17EC000 DAC: 00000015
> Process cardctl (pid: 2108, stack limit = 0xc1684194)
> Stack: (0xc1685cb8 to 0xc1686000)
> 5ca0: c1685ce4
> c1685cc8
> 5cc0: c012e4a4 c0153b08 c029b860 c029bc90 c029b8c0 c0254650 c1685d04
> c1685ce8
> 5ce0: c012dd38 c012e3f4 c029b860 c029bc90 c029b8c0 00000000 c1685d20
> c1685d08
> [stack snipped]
> Backtrace:
> [<c0153afc>] (ide_drive_remove+0x0/0x28) from [<c012e4a4>]
> (device_release_driver+0xbc/0xc4)
> [<c012e3e8>] (device_release_driver+0x0/0xc4) from [<c012dd38>]
> (bus_remove_device+0x5c/0xa8)
> r7 = C0254650 r6 = C029B8C0 r5 = C029BC90 r4 = C029B860
> [<c012dcdc>] (bus_remove_device+0x0/0xa8) from [<c012ce30>]
> (device_del+0x40/0x80)
> r7 = 00000000 r6 = C029B8C0 r5 = C029BC90 r4 = C029B860
> [<c012cdf0>] (device_del+0x0/0x80) from [<c012ce84>]
> (device_unregister+0x14/0x20)
> r6 = 00000000 r5 = C03DD3A0 r4 = C029B860
> [<c012ce70>] (device_unregister+0x0/0x20) from [<c0151f04>]
> (ide_unregister+0x6d0/0x8b0)
> r4 = C029B778
> [<c0151834>] (ide_unregister+0x0/0x8b0) from [<c015f270>]
> (ide_release+0x64/0x68)
> [<c015f20c>] (ide_release+0x0/0x68) from [<c015f4f4>] (ide_event+0xd4/0x674)
> r5 = C1685E0C r4 = C1C10200
> [<c015f420>] (ide_event+0x0/0x674) from [<c016fd18>]
> (send_event_callback+0x64/0x6c)
> [<c016fcb4>] (send_event_callback+0x0/0x6c) from [<c012db38>]
> (bus_for_each_dev+0x60/0x8c)
> r4 = 00000000
> [<c012dad8>] (bus_for_each_dev+0x0/0x8c) from [<c016fd50>]
> (send_event+0x30/0x40)
> r7 = 00000001 r6 = 00000001 r5 = 00000001 r4 = 00000008
> [<c016fd20>] (send_event+0x0/0x40) from [<c0170128>] (ds_event+0xc0/0x210)
> [<c0170068>] (ds_event+0x0/0x210) from [<c016aa64>] (send_event+0xd0/0x154)
> [<c016a994>] (send_event+0x0/0x154) from [<c016ac8c>]
> (socket_shutdown+0x18/0xfc)
> r7 = 00000000 r6 = 00000000 r5 = C03EE404 r4 = C03EE404
> [<c016ac74>] (socket_shutdown+0x0/0xfc) from [<c016b424>]
> (socket_remove+0x14/0xa0)
> r6 = 00000000 r5 = C03EE404 r4 = C03EE404
> [<c016b410>] (socket_remove+0x0/0xa0) from [<c016bac4>]
> (pcmcia_eject_card+0x94/0x98)
> r5 = C03EE404 r4 = C03EE530
> [<c016ba30>] (pcmcia_eject_card+0x0/0x98) from [<c0172db0>]
> (ds_ioctl+0xa30/0xc14)
> r6 = C03EE404 r5 = 0000640E r4 = 00000000
> [<c0172380>] (ds_ioctl+0x0/0xc14) from [<c0095fa0>] (do_ioctl+0x6c/0xa0)
> [<c0095f34>] (do_ioctl+0x0/0xa0) from [<c0096068>] (vfs_ioctl+0x94/0x328)
> r7 = 00000000 r6 = 00000000 r5 = 00000003 r4 = C1BFFC80
> [<c0095fd4>] (vfs_ioctl+0x0/0x328) from [<c009633c>] (sys_ioctl+0x40/0x64)
> r8 = C001CFA4 r7 = 00000036 r6 = 0000640E r5 = FFFFFFF7
> r4 = C1BFFC80
> [<c00962fc>] (sys_ioctl+0x0/0x64) from [<c001ce20>]
> (ret_fast_syscall+0x0/0x2c)
> r6 = BECC8D90 r5 = 00000000 r4 = 00000000
> Code: e24020e8 e1a00002 e592301c e1a0e00f (e593f010)
>
> ------------------------------------------------------
>
> root@c7x0:~# cardmgr
> cardmgr[1956]: watching 1 socket
> root@c7x0:~# hda: Flash Card, CFA DISK drive
> ide0 at 0xc2860000-0xc2860007,0xc286000e on irq 40
> hda: max request size: 128KiB
> hda: 254464 sectors (130 MB) w/0KiB Cache, CHS=994/8/32
> hda: cache flushes not supported
> hda: hda1
> ide-cs: hda: Vcc = 3.3, Vpp = 0.0
> hda: hda1
>
> root@c7x0:~# cardctl eject
>
> hda: status timeout: status=0x88 { Busy }
>
> ide: failed opcode was: 0xec
> hda: drive not ready for command
> hda: status timeout: status=0x88 { Busy }
>
> ide: failed opcode was: 0xec
> hda: drive not ready for command
> hda: status timeout: status=0x88 { Busy }
>
> ide: failed opcode was: 0xec
> hda: drive not ready for command
>
> root@c7x0:~# cardctl insert
> root@c7x0:~# Unable to handle kernel NULL pointer dereference at virtual
> address 00000010
> pgd = c1280000
> [00000010] *pgd=a1250031, *pte=00000000, *ppte=00000000
> Internal error: Oops: 17 [#1]
> Modules linked in:
> CPU: 0
> PC is at ide_drive_remove+0x1c/0x28
> LR is at ide_drive_remove+0x20/0x28
> pc : [<c0153b18>] lr : [<c0153b1c>] Not tainted
> sp : c113fbb4 ip : c113fbc4 fp : c113fbc0
> r10: 00000000 r9 : c029b6e8 r8 : c029b6e8
> r7 : c029b8c0 r6 : c029b908 r5 : c0254ad0 r4 : c029b860
> r3 : 00000000 r2 : c029b778 r1 : 00000003 r0 : c029b778
> Flags: NzCv IRQs on FIQs on Mode SVC_32 Segment user
> Control: 397F Table: A1280000 DAC: 00000015
> Process cardmgr (pid: 1957, stack limit = 0xc113e194)
> Stack: (0xc113fbb4 to 0xc1140000)
> fba0: c113fbe0 c113fbc4
> c012e4a4
> fbc0: c0153b08 c029b860 c029bc90 c029b8c0 c0254650 c113fc00 c113fbe4
> c012dd38
> fbe0: c012e3f4 c029b860 c029bc90 c029b8c0 00000000 c113fc1c c113fc04
> c012ce30
> [stack snipped]
> Backtrace:
> [<c0153afc>] (ide_drive_remove+0x0/0x28) from [<c012e4a4>]
> (device_release_driver+0xbc/0xc4)
> [<c012e3e8>] (device_release_driver+0x0/0xc4) from [<c012dd38>]
> (bus_remove_device+0x5c/0xa8)
> r7 = C0254650 r6 = C029B8C0 r5 = C029BC90 r4 = C029B860
> [<c012dcdc>] (bus_remove_device+0x0/0xa8) from [<c012ce30>]
> (device_del+0x40/0x80)
> r7 = 00000000 r6 = C029B8C0 r5 = C029BC90 r4 = C029B860
> [<c012cdf0>] (device_del+0x0/0x80) from [<c012ce84>]
> (device_unregister+0x14/0x20)
> r6 = 00000000 r5 = C03DB0A0 r4 = C029B860
> [<c012ce70>] (device_unregister+0x0/0x20) from [<c0151f04>]
> (ide_unregister+0x6d0/0x8b0)
> r4 = C029B778
> [<c0151834>] (ide_unregister+0x0/0x8b0) from [<c0152310>]
> (ide_register_hw_with_fixup+0x1b8/0x1ec)
> [<c0152158>] (ide_register_hw_with_fixup+0x0/0x1ec) from [<c015f200>]
> (idecs_register+0xa4/0xb0)
> [<c015f15c>] (idecs_register+0x0/0xb0) from [<c015f8c4>]
> (ide_event+0x4a4/0x674)
> r7 = C286000E r6 = C1C00460 r5 = C1F72A14 r4 = 00000000
> [<c015f420>] (ide_event+0x0/0x674) from [<c016ffc0>]
> (pcmcia_register_client+0x260/0x308)
> [<c016fd60>] (pcmcia_register_client+0x0/0x308) from [<c015f3dc>]
> (ide_attach+0xb8/0xfc)
> [<c015f324>] (ide_attach+0x0/0xfc) from [<c016edb0>]
> (pcmcia_device_probe+0xc0/0x18c)
> r6 = C1F72A60 r5 = C0254BF0 r4 = C1F72A00
> [<c016ecf0>] (pcmcia_device_probe+0x0/0x18c) from [<c012e230>]
> (driver_probe_device+0x4c/0xb0)
> r8 = 00000050 r7 = C012E294 r6 = 00000000 r5 = C0254C00
> r4 = C1F72A60
> [<c012e1e4>] (driver_probe_device+0x0/0xb0) from [<c012dbc4>]
> (bus_for_each_drv+0x60/0x8c)
> r6 = C1F72A60 r5 = C113FE60 r4 = 00000000
> [<c012db64>] (bus_for_each_drv+0x0/0x8c) from [<c012e334>]
> (device_attach+0x8c/0x98)
> r7 = C012DF2C r6 = C113FEE4 r5 = C1F72B08 r4 = C1F72A60
> [<c012e2a8>] (device_attach+0x0/0x98) from [<c012df54>]
> (bus_rescan_devices_helper+0x28/0x40)
> r5 = C113FEB8 r4 = C113FEE4
> [<c012df2c>] (bus_rescan_devices_helper+0x0/0x40) from [<c012db38>]
> (bus_for_each_dev+0x60/0x8c)
> r4 = 00000000
> [<c012dad8>] (bus_for_each_dev+0x0/0x8c) from [<c012df90>]
> (bus_rescan_devices+0x24/0x30)
> r7 = 0001C070 r6 = C1F72A00 r5 = C050643C r4 = C03EC530
> [<c012df6c>] (bus_rescan_devices+0x0/0x30) from [<c0172c84>]
> (ds_ioctl+0x904/0xc14)
> [<c0172380>] (ds_ioctl+0x0/0xc14) from [<c0095fa0>] (do_ioctl+0x6c/0xa0)
> [<c0095f34>] (do_ioctl+0x0/0xa0) from [<c0096068>] (vfs_ioctl+0x94/0x328)
> r7 = 00000000 r6 = 0001C070 r5 = 00000004 r4 = C1312800
> [<c0095fd4>] (vfs_ioctl+0x0/0x328) from [<c009633c>] (sys_ioctl+0x40/0x64)
> r8 = C001CFA4 r7 = 00000036 r6 = C050643C r5 = FFFFFFF7
> r4 = C1312800
> [<c00962fc>] (sys_ioctl+0x0/0x64) from [<c001ce20>]
> (ret_fast_syscall+0x0/0x2c)
> r6 = 00034738 r5 = 00000001 r4 = 00000001
> Code: e24020e8 e1a00002 e592301c e1a0e00f (e593f010)
>
> Regards,
>
> Richard