[ltp] Re: Hotswap driver (supports DMA, etc etc)

Obi linux-thinkpad@linux-thinkpad.org
Wed, 22 Feb 2006 13:50:10 -0800


I tried it again, and it worked!! thanks a lot!

I'm not sure what was going wrong, but I just ejected and reinserted the
DVD without loss of DMA and without any kernel panic! I have a T41.

-g

On Wed, Feb 22, 2006 at 07:38:09AM -0600, Jim Duchek wrote:
> Obi --
> 
> When does that kernel panic happen? 
> 
> Jim
> 
> On 21/02/06, Obi <graziano@cs.ucsb.edu> wrote:
> 
>     I just tried the latest (0.2.0) and now I got the following kernel panic.
>     And
>     at least once, my machine locked hard. It's a T41 running Debian unstable.
> 
> 
> 
>     Unable to handle kernel NULL pointer dereference at virtual address
>     00000108
>     printing eip:
>     f0850af2
>     *pde = 00000000
>     Oops: 0000 [#1]
>     Modules linked in: lt_hotswap udf radeon drm cpufreq_ondemand ibm_acpi lp
>     thermal fan button processor ac battery michael_mic arc4
>     ieee80211_crypt_tkip aes ieee80211_crypt_ccmp ipv6 dummy nvram usbhid
>     pcmcia irtty_sir sir_dev ipw2200 irda ieee80211 ieee80211_crypt crc_ccitt
>     firmware_class parport_pc parport psmouse e1000 serio_raw yenta_socket
>     rsrc_nonstatic pcmcia_core evdev snd_intel8x0 hw_random snd_intel8x0m
>     snd_ac97_codec snd_ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd
>     rtc ehci_hcd uhci_hcd soundcore snd_page_alloc usbcore shpchp pci_hotplug
>     intel_agp agpgart ide_cd cdrom unix
>     CPU:    0
>     EIP:    0060:[<f0850af2>]    Not tainted VLI
>     EFLAGS: 00010246   (2.6.15)
>     EIP is at cdrom_lockdoor+0x1f/0xb6 [ide_cd]
>     eax: 00000000   ebx: ecb83f10   ecx: 00000000   edx: 00000000
>     esi: d768bed0   edi: c032c864   ebp: 00000000   esp: d768be38
>     ds: 007b   es: 007b   ss: 0068
>     Process umount (pid: 6593, threadinfo=d768a000 task=d369ea30)
>     Stack: c0133fbd 0000000e d768be84 0000000d d768bef0 00000040 00000092
>     00000246
>            00000246 00000000 d768be88 d768be84 00000001 c01300ba c12722c0
>     c029c520
>            d768bef4 c0133d9e 00000001 00000001 00000000 c12722c0 00000020
>     d768bef0
>     Call Trace:
>     [<c0133fbd>] pagevec_lookup_tag+0x1b/0x22
>     [<c01300ba>] __pagevec_free+0x18/0x22
>     [<c0133d9e>] release_pages+0xfc/0x104
>     [<c01950d8>] radix_tree_gang_lookup+0x2f/0x49
>     [<c012c9ca>] find_get_pages+0x14/0x3a
>     [<c0133f9c>] pagevec_lookup+0x17/0x1d
>     [<c01342b9>] invalidate_mapping_pages+0x9d/0xb0
>     [<f0845ff4>] cdrom_release+0x85/0xd0 [cdrom]
>     [<f08523b7>] idecd_release+0x1e/0x30 [ide_cd]
>     [<c01488eb>] blkdev_put+0x59/0x103
>     [<c01471e8>] deactivate_super+0x5d/0x6f
>     [<c01577ce>] sys_umount+0x6a/0x71
>     [<c0111ac8>] do_page_fault+0x169/0x4af
>     [<c011195f>] do_page_fault+0x0/0x4af
>     [<c0102a09>] syscall_call+0x7/0xb
>     Code: ff 81 c4 98 00 00 00 5b 5e 5f 5d c3 55 89 d5 57 89 c7 56 89 ce 53 81
>     ec d8 00 00 00 85 c9 8d 84 24 98 00 00 00 0f 44 f0 8b 47 1c <f6> 80 08 01
>     00 00 02 75 64 89 e2 89 f8 e8 51 e8 ff ff 85 ed 89
> 
> 
>     On Tue, Feb 21, 2006 at 05:52:20PM -0600, Jim Duchek wrote:
>     > Try the latest -- http://churchofjim.org/sources/lt_hotswap-0.1.6.tar.gz
>     -- it
>     > ought to work better.  You definitely want auto_eject unless you're using
>     the
>     > acpi scripts in config/
>     >
>     > Jim
>     >
>     >
>     > On 21/02/06, Obi < graziano@cs.ucsb.edu> wrote:
>     >
>     >     Thanks for trying to give us a working bay!!
>     >
>     >     I just tried it on my T41: ejected the DVD-RW and reinserted. If I
>     used
>     >     the auto-eject=1 options, the drive is not recognized upon
>     reinsertion.
>     >     Without it the drive seems to be recognized, but I got kernel ops ...
>     >
>     >     Feb 21 15:24:09 localhost kernel: Unable to handle kernel NULL
>     pointer
>     >     dereference at virtual address 000004bd
>     >     Feb 21 15:24:09 localhost kernel:  printing eip:
>     >     Feb 21 15:24:09 localhost kernel: 000004bd
>     >     Feb 21 15:24:09 localhost kernel: *pde = 00000000
>     >     Feb 21 15:24:09 localhost kernel: Oops: 0000 [#4]
>     >     Feb 21 15:24:09 localhost kernel: Modules linked in: lt_hotswap jfs
>     xfs
>     >     exportfs reiserfs ext2 hfs hfsplus ntfs ipw2200 ieee80211
>     nls_iso8859_1
>     >     nls_cp437 vfat fat isofs udf sd_mod usb_storage scsi_mod nvram
>     >     michael_mic arc4 ieee80211_crypt_tkip aes ieee80211_crypt_ccmp usbhid
>     >     radeon drm cpufreq_ondemand ibm_acpi lp thermal fan button processor
>     ac
>     >     battery ipv6 dummy pcmcia irtty_sir sir_dev irda crc_ccitt
>     >     ieee80211_crypt firmware_class psmouse e1000 serio_raw parport_pc
>     parport
>     >     evdev yenta_socket rsrc_nonstatic pcmcia_core snd_intel8x0
>     snd_pcm_oss
>     >     snd_mixer_oss snd_intel8x0m snd_ac97_codec snd_ac97_bus ehci_hcd
>     uhci_hcd
>     >     ide_cd snd_pcm snd_timer snd hw_random rtc intel_agp agpgart usbcore
>     >     cdrom shpchp pci_hotplug soundcore snd_page_alloc unix
>     >     Feb 21 15:24:09 localhost kernel: CPU:    0
>     >     Feb 21 15:24:09 localhost kernel: EIP:    0060:[<000004bd>]    Not
>     tainted
>     >     VLI
>     >     Feb 21 15:24:09 localhost kernel: EFLAGS: 00010206   (2.6.15)
>     >     Feb 21 15:24:09 localhost kernel: EIP is at 0x4bd
>     >     Feb 21 15:24:09 localhost kernel: eax: efceaec0   ebx: efceaec0  
>     ecx:
>     >     00000000
>     >       edx: 000004bd
>     >     Feb 21 15:24:09 localhost kernel: esi: efcfbbf4   edi: ffffffe7  
>     ebp:
>     >     08055828
>     >       esp: d4055e10
>     >     Feb 21 15:24:09 localhost kernel: ds: 007b   es: 007b   ss: 0068
>     >     Feb 21 15:24:09 localhost kernel: Process hdparm (pid: 24316,
>     threadinfo=
>     >     d4054000 task=d6ca3a70)
>     >     Feb 21 15:24:09 localhost kernel: Stack: c018c8cf efcfbbe4 c018e659
>     >     08055828 efcfbbe4 c0191d9a efcd9480 cb7a4740
>     >     Feb 21 15:24:09 localhost kernel:        c01de5a2 c01de5aa 00000001
>     >     d4055efc c01de5aa 00000009 e4e69800 d6a13000
>     >     Feb 21 15:24:09 localhost kernel:        d6a13110 ffffffff 00200246
>     >     00000000 00000004 c14af4a0 c16e4900 f18c44e0
>     >     Feb 21 15:24:09 localhost kernel: Call Trace:
>     >     Feb 21 15:24:09 localhost kernel:  [elevator_exit+16/39]
>     elevator_exit+0x10
>     >     /0x27Feb 21 15:24:09 localhost kernel:  [blk_cleanup_queue+32/93]
>     >     blk_cleanup_queue+0x20/0x5d
>     >     Feb 21 15:24:09 localhost kernel:  [scsi_cmd_ioctl+774/796]
>     >     scsi_cmd_ioctl+0x306/0x31c
>     >     Feb 21 15:24:09 localhost kernel:  [n_tty_receive_buf+2528/2583]
>     >     n_tty_receive_buf+0x9e0/0xa17
>     >     Feb 21 15:24:09 localhost kernel:  [n_tty_receive_buf+2536/2583]
>     >     n_tty_receive_buf+0x9e8/0xa17
>     >     Feb 21 15:24:09 localhost kernel:  [n_tty_receive_buf+2536/2583]
>     >     n_tty_receive_buf+0x9e8/0xa17
>     >     Feb 21 15:24:09 localhost kernel:  [pg0+827876395/1070355456]
>     >     idecd_revalidate_disk+0x10/0x16 [ide_cd]
>     >     Feb 21 15:24:09 localhost kernel:  [printk+18/22] printk+0x12/0x16
>     >     Feb 21 15:24:09 localhost kernel:  [pg0+810681314/1070355456]
>     >     cdrom_ioctl+0x25/0x9e5 [cdrom]
>     >     Feb 21 15:24:09 localhost kernel:  [pty_write+49/61] pty_write+0x31/
>     0x3d
>     >     Feb 21 15:24:09 localhost kernel:  [filemap_nopage+358/683]
>     >     filemap_nopage+0x166/0x2ab
>     >     Feb 21 15:24:09 localhost kernel:  [pg0+827876359/1070355456]
>     >     idecd_ioctl+0x3e/0x45 [ide_cd]
>     >     Feb 21 15:24:09 localhost kernel:  [pg0+827876297/1070355456]
>     >     idecd_ioctl+0x0/0x45 [ide_cd]
>     >     Feb 21 15:24:09 localhost kernel:  [blkdev_driver_ioctl+57/63]
>     >     blkdev_driver_ioctl+0x39/0x3f
>     >     Feb 21 15:24:09 localhost kernel:  [blkdev_ioctl+259/279]
>     >     blkdev_ioctl+0x103/0x117
>     >     Feb 21 15:24:09 localhost kernel:  [block_ioctl+0/22] block_ioctl+0x0
>     /0x16
>     >     Feb 21 15:24:09 localhost kernel:  [block_ioctl+19/22]
>     block_ioctl+0x13/
>     >     0x16
>     >     Feb 21 15:24:09 localhost kernel:  [do_ioctl+22/72] do_ioctl+0x16/
>     0x48
>     >     Feb 21 15:24:09 localhost kernel:  [vfs_ioctl+336/350]
>     vfs_ioctl+0x150/
>     >     0x15e
>     >     Feb 21 15:24:09 localhost kernel:  [sys_ioctl+42/64] sys_ioctl+0x2a/
>     0x40
>     >     Feb 21 15:24:09 localhost kernel:  [syscall_call+7/11]
>     syscall_call+0x7/0xb
>     >     Feb 21 15:24:09 localhost kernel: Code:  Bad EIP value.
>     >
>     >
>     >     graziano
>     >     --
>     >     The linux-thinkpad mailing list home page is at:
>     >     http://mailman.linux-thinkpad.org/mailman/listinfo/linux-thinkpad
>     >
>     >
> 
>     --
>     +-----------------------+--------------------------+
>     | Graziano Obertelli    | CS Dept. Rm 102          |
>     | graziano@cs.ucsb.edu  | University of California |
>     | (805) 893-5212        | Santa Barbara, CA 93106  |
>     +-----------------------+--------------------------+
>     --
>     The linux-thinkpad mailing list home page is at:
>     http://mailman.linux-thinkpad.org/mailman/listinfo/linux-thinkpad
> 
>