Re: 2.6.12-rc3-mm1

Richard Purdie
2005-04-30T22:05:00Z

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

I can confirm that exactly the same happens with 2.6.12-rc3.

> "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
>> 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
>
>