2003-08-13 14:26:45

by Paul Dickson

[permalink] [raw]
Subject: Deep call trace from PCMCIA CF eject

I did a scan of my message log for something else, and the call trace
below is what I found instead. Fortunately I remembered what I was doing
at the time, ejecting and reinserting my CF card in my notebook's PCMCIA
slot. So I did it again without physically removing the card, and the
call trace below is from that verification.

The CF is accessible after the remounting.

Besides the minor concern about the trace itself, a bigger concern on my
part is how deep the call trace is (60+ levels). How's it doing for stack
space?

What's ext3 doing on the stack of a vfat card?

-Paul


I did a "cardctl eject 1" here:

Aug 13 06:57:59 violet cardmgr[1559]: executing: './ide check hde'
Aug 13 06:58:00 violet cardmgr[1559]: executing: './ide stop hde'
Aug 13 06:58:01 violet kernel: hde: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
Aug 13 06:58:01 violet kernel: hde: task_no_data_intr: error=0x04 { DriveStatusError }
Aug 13 06:58:01 violet kernel: hde: Write Cache FAILED Flushing!
Aug 13 06:58:01 violet cardmgr[1559]: + /dev/hde1 umounted
Aug 13 06:58:01 violet kernel: updfstab: numerical sysctl 1 23 is obsolete.
Aug 13 06:58:02 violet kernel: hde: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
Aug 13 06:58:02 violet kernel: hde: task_no_data_intr: error=0x04 { DriveStatusError }
Aug 13 06:58:02 violet kernel: hde: Write Cache FAILED Flushing!
Aug 13 06:58:02 violet kernel: Debug: sleeping function called from invalid context at include/linux/rwsem.h:66
Aug 13 06:58:02 violet kernel: Call Trace:
Aug 13 06:58:02 violet kernel: [<c011bc81>] __might_sleep+0x61/0x80
Aug 13 06:58:02 violet kernel: [<c02376dc>] unlink+0x3c/0xa0
Aug 13 06:58:02 violet kernel: [<c0267a32>] kobj_unmap+0x62/0x110
Aug 13 06:58:02 violet kernel: [<c026cf62>] blk_unregister_region+0x22/0x30
Aug 13 06:58:02 violet kernel: [<c0287eb3>] ide_unregister+0x2f3/0x8d0
Aug 13 06:58:02 violet kernel: [<c011a83a>] default_wake_function+0x2a/0x30
Aug 13 06:58:02 violet kernel: [<c011a87a>] __wake_up_common+0x3a/0x60
Aug 13 06:58:02 violet kernel: [<c011e698>] printk+0x118/0x180
Aug 13 06:58:02 violet kernel: [<c023991f>] sprintf+0x1f/0x30
Aug 13 06:58:02 violet /sbin/hotplug: no runnable /etc/hotplug/ide.agent is installed
Aug 13 06:58:02 violet /sbin/hotplug: no runnable /etc/hotplug/block.agent is installed
Aug 13 06:58:02 violet kernel: [<d096c8d1>] ide_config+0x641/0x880 [ide_cs]
Aug 13 06:58:02 violet /sbin/hotplug: no runnable /etc/hotplug/block.agent is installed
Aug 13 06:58:02 violet kernel: [<d09810be>] set_cis_map+0x3e/0x120 [pcmcia_core]
Aug 13 06:58:02 violet kernel: [<d0981595>] read_cis_cache+0xe5/0x170 [pcmcia_core]
Aug 13 06:58:02 violet kernel: [<d0981f6d>] pcmcia_get_tuple_data+0x8d/0xa0 [pcmcia_core]
Aug 13 06:58:02 violet kernel: [<d098332c>] pcmcia_parse_tuple+0x10c/0x170 [pcmcia_core]
Aug 13 06:58:02 violet kernel: [<d0983404>] read_tuple+0x74/0x80 [pcmcia_core]
Aug 13 06:58:02 violet kernel: [<d0981e8e>] pcmcia_get_next_tuple+0x26e/0x2c0 [pcmcia_core]
Aug 13 06:58:02 violet kernel: [<d0981979>] pcmcia_get_first_tuple+0xa9/0x150 [pcmcia_core]
Aug 13 06:58:02 violet kernel: [<d0921813>] yenta_set_mem_map+0x1b3/0x200 [yenta_socket]
Aug 13 06:58:02 violet kernel: [<d09810be>] set_cis_map+0x3e/0x120 [pcmcia_core]
Aug 13 06:58:02 violet kernel: [<d09810be>] set_cis_map+0x3e/0x120 [pcmcia_core]
Aug 13 06:58:02 violet kernel: [<d0981595>] read_cis_cache+0xe5/0x170 [pcmcia_core]
Aug 13 06:58:02 violet kernel: [<d0981f6d>] pcmcia_get_tuple_data+0x8d/0xa0 [pcmcia_core]
Aug 13 06:58:02 violet kernel: [<d098332c>] pcmcia_parse_tuple+0x10c/0x170 [pcmcia_core]
Aug 13 06:58:02 violet kernel: [<d0983404>] read_tuple+0x74/0x80 [pcmcia_core]
Aug 13 06:58:02 violet kernel: [<d0981e8e>] pcmcia_get_next_tuple+0x26e/0x2c0 [pcmcia_core]
Aug 13 06:58:02 violet kernel: [<c0153f81>] wake_up_buffer+0x11/0x30
Aug 13 06:58:02 violet kernel: [<c019f3b3>] do_get_write_access+0x2e3/0x610
Aug 13 06:58:02 violet kernel: [<c0153f81>] wake_up_buffer+0x11/0x30
Aug 13 06:58:02 violet kernel: [<c019f3b3>] do_get_write_access+0x2e3/0x610
Aug 13 06:58:02 violet kernel: [<c0153f81>] wake_up_buffer+0x11/0x30
Aug 13 06:58:02 violet kernel: [<c019f3b3>] do_get_write_access+0x2e3/0x610
Aug 13 06:58:02 violet kernel: [<c0153f81>] wake_up_buffer+0x11/0x30
Aug 13 06:58:02 violet kernel: [<c019f3b3>] do_get_write_access+0x2e3/0x610
Aug 13 06:58:02 violet kernel: [<c0192ef8>] ext3_get_inode_loc+0x68/0x260
Aug 13 06:58:02 violet kernel: [<c01935c7>] ext3_do_update_inode+0x177/0x360
Aug 13 06:58:02 violet kernel: [<c0193ac7>] ext3_mark_iloc_dirty+0x27/0x40
Aug 13 06:58:02 violet kernel: [<c0193c00>] ext3_mark_inode_dirty+0x50/0x60
Aug 13 06:58:02 violet kernel: [<c0153f81>] wake_up_buffer+0x11/0x30
Aug 13 06:58:02 violet kernel: [<c019f3b3>] do_get_write_access+0x2e3/0x610
Aug 13 06:58:02 violet kernel: [<c0192ef8>] ext3_get_inode_loc+0x68/0x260
Aug 13 06:58:02 violet kernel: [<c01935c7>] ext3_do_update_inode+0x177/0x360
Aug 13 06:58:02 violet kernel: [<d096cba4>] ide_release+0x94/0x130 [ide_cs]
Aug 13 06:58:02 violet kernel: [<d096c1fc>] ide_detach+0xac/0xc0 [ide_cs]
Aug 13 06:58:02 violet kernel: [<d09727e2>] unbind_request+0xd2/0xe0 [ds]
Aug 13 06:58:02 violet kernel: [<d0972fa1>] ds_ioctl+0x441/0x770 [ds]
Aug 13 06:58:02 violet kernel: [<c02cec0a>] memcpy_fromiovec+0xba/0xc0
Aug 13 06:58:02 violet kernel: [<c0327d5f>] unix_dgram_sendmsg+0x35f/0x560
Aug 13 06:58:02 violet kernel: [<c013b28d>] __alloc_pages+0x8d/0x340
Aug 13 06:58:02 violet kernel: [<c02c937e>] sock_sendmsg+0x8e/0xb0
Aug 13 06:58:02 violet kernel: [<c0144cd8>] do_anonymous_page+0x118/0x200
Aug 13 06:58:02 violet kernel: [<c011a5bb>] schedule+0x1bb/0x3c0
Aug 13 06:58:02 violet kernel: [<c0182f9d>] proc_destroy_inode+0x1d/0x30
Aug 13 06:58:02 violet kernel: [<c0143723>] zap_pte_range+0x143/0x1a0
Aug 13 06:58:02 violet kernel: [<c01437ce>] zap_pmd_range+0x4e/0x70
Aug 13 06:58:02 violet kernel: [<c014383e>] unmap_page_range+0x4e/0x80
Aug 13 06:58:02 violet kernel: [<c014394d>] unmap_vmas+0xdd/0x240
Aug 13 06:58:02 violet kernel: [<c01470a3>] unmap_vma+0x43/0x80
Aug 13 06:58:02 violet kernel: [<c01470ff>] unmap_vma_list+0x1f/0x30
Aug 13 06:58:02 violet kernel: [<c0147473>] do_munmap+0x153/0x190
Aug 13 06:58:02 violet kernel: [<c01652b0>] sys_ioctl+0x100/0x290
Aug 13 06:58:02 violet kernel: [<c010b1f9>] sysenter_past_esp+0x52/0x71
Aug 13 06:58:02 violet kernel:


I did a "cardctl insert 1" here:

Aug 13 06:59:12 violet cardmgr[1559]: socket 1: ATA/IDE Fixed Disk
Aug 13 06:59:16 violet kernel: hde: LEXAR ATA_FLASH, CFA DISK drive
Aug 13 06:59:16 violet kernel: hdf: probing with STATUS(0xc0) instead of ALTSTATUS(0x0a)
Aug 13 06:59:16 violet kernel: hdf: probing with STATUS(0x00) instead of ALTSTATUS(0x0a)
Aug 13 06:59:16 violet kernel: ide2 at 0x100-0x107,0x10e on irq 3
Aug 13 06:59:16 violet kernel: hde: max request size: 128KiB
Aug 13 06:59:16 violet kernel: hde: 62976 sectors (32 MB) w/1KiB Cache, CHS=984/2/32
Aug 13 06:59:16 violet kernel: hde: hde1
Aug 13 06:59:16 violet /sbin/hotplug: no runnable /etc/hotplug/ide.agent is installed
Aug 13 06:59:16 violet /sbin/hotplug: no runnable /etc/hotplug/block.agent is installed
Aug 13 06:59:16 violet /sbin/hotplug: no runnable /etc/hotplug/block.agent is installed
Aug 13 06:59:16 violet kernel: hde: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
Aug 13 06:59:16 violet kernel: hde: task_no_data_intr: error=0x04 { DriveStatusError }
Aug 13 06:59:16 violet kernel: hde: Write Cache FAILED Flushing!
Aug 13 06:59:16 violet kernel: ide-cs: hde: Vcc = 3.3, Vpp = 0.0
Aug 13 06:59:16 violet cardmgr[1559]: executing: './ide start hde'
Aug 13 06:59:16 violet /sbin/hotplug: no runnable /etc/hotplug/block.agent is installed
Aug 13 06:59:16 violet /sbin/hotplug: no runnable /etc/hotplug/block.agent is installed
Aug 13 06:59:16 violet kernel: hde: hde1
Aug 13 06:59:16 violet cardmgr[1559]: + /dev/hde1 on /mnt/card type vfat (rw,gid=500,uid=500)
Aug 13 06:59:16 violet kernel: updfstab: numerical sysctl 1 23 is obsolete.


-Paul


2003-08-13 15:40:07

by Paul Dickson

[permalink] [raw]
Subject: Re: Deep call trace from PCMCIA CF eject

On Wed, 13 Aug 2003 07:24:56 -0700, Paul Dickson wrote:

> I did a scan of my message log for something else, and the call trace
> below is what I found instead. Fortunately I remembered what I was doing
> at the time, ejecting and reinserting my CF card in my notebook's PCMCIA
> slot. So I did it again without physically removing the card, and the
> call trace below is from that verification.

I should have mentioned this, this is 2.6.0-test3.

-Paul

2003-08-13 16:53:29

by Russell King

[permalink] [raw]
Subject: Re: Deep call trace from PCMCIA CF eject

On Wed, Aug 13, 2003 at 07:24:56AM -0700, Paul Dickson wrote:
> Besides the minor concern about the trace itself, a bigger concern on my
> part is how deep the call trace is (60+ levels). How's it doing for stack
> space?

Not all those functions listed were involved - never, ever believe an
x86 call trace as being the absolute truth. 8)

The real calltrace is much closer to:

> Aug 13 06:57:59 violet cardmgr[1559]: executing: './ide check hde'
> Aug 13 06:58:00 violet cardmgr[1559]: executing: './ide stop hde'
> Aug 13 06:58:01 violet kernel: hde: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
> Aug 13 06:58:01 violet kernel: hde: task_no_data_intr: error=0x04 { DriveStatusError }
> Aug 13 06:58:01 violet kernel: hde: Write Cache FAILED Flushing!
> Aug 13 06:58:01 violet cardmgr[1559]: + /dev/hde1 umounted
> Aug 13 06:58:01 violet kernel: updfstab: numerical sysctl 1 23 is obsolete.
> Aug 13 06:58:02 violet kernel: hde: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
> Aug 13 06:58:02 violet kernel: hde: task_no_data_intr: error=0x04 { DriveStatusError }
> Aug 13 06:58:02 violet kernel: hde: Write Cache FAILED Flushing!
> Aug 13 06:58:02 violet kernel: Debug: sleeping function called from invalid context at include/linux/rwsem.h:66
> Aug 13 06:58:02 violet kernel: Call Trace:
> Aug 13 06:58:02 violet kernel: [<c011bc81>] __might_sleep+0x61/0x80
> Aug 13 06:58:02 violet kernel: [<c02376dc>] unlink+0x3c/0xa0
> Aug 13 06:58:02 violet kernel: [<c0267a32>] kobj_unmap+0x62/0x110
> Aug 13 06:58:02 violet kernel: [<c026cf62>] blk_unregister_region+0x22/0x30
> Aug 13 06:58:02 violet kernel: [<c0287eb3>] ide_unregister+0x2f3/0x8d0
> Aug 13 06:58:02 violet kernel: [<d096cba4>] ide_release+0x94/0x130 [ide_cs]
> Aug 13 06:58:02 violet kernel: [<d096c1fc>] ide_detach+0xac/0xc0 [ide_cs]
> Aug 13 06:58:02 violet kernel: [<d09727e2>] unbind_request+0xd2/0xe0 [ds]
> Aug 13 06:58:02 violet kernel: [<d0972fa1>] ds_ioctl+0x441/0x770 [ds]
> Aug 13 06:58:02 violet kernel: [<c01652b0>] sys_ioctl+0x100/0x290
> Aug 13 06:58:02 violet kernel: [<c010b1f9>] sysenter_past_esp+0x52/0x71

The problem is IDE - ide_unregister() does the following:

spin_lock_irq(&ide_lock);
...
blk_unregister_region(MKDEV(hwif->major, 0), MAX_DRIVES<<PARTN_BITS);

Since blk_unregister_region is sleepy, and sleeping with a spinlock
held is a big NO NO, it's an IDE problem not a PCMCIA problem. It
should be calling blk_unregister_region with a spinlock held.

--
Russell King ([email protected]) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html

Subject: Re: Deep call trace from PCMCIA CF eject

On Wednesday 13 of August 2003 18:53, Russell King wrote:
> On Wed, Aug 13, 2003 at 07:24:56AM -0700, Paul Dickson wrote:
> > Besides the minor concern about the trace itself, a bigger concern on my
> > part is how deep the call trace is (60+ levels). How's it doing for
> > stack space?
>
> Not all those functions listed were involved - never, ever believe an
> x86 call trace as being the absolute truth. 8)
>
> The real calltrace is much closer to:
> > Aug 13 06:57:59 violet cardmgr[1559]: executing: './ide check hde'
> > Aug 13 06:58:00 violet cardmgr[1559]: executing: './ide stop hde'
> > Aug 13 06:58:01 violet kernel: hde: task_no_data_intr: status=0x51 {
> > DriveReady SeekComplete Error } Aug 13 06:58:01 violet kernel: hde:
> > task_no_data_intr: error=0x04 { DriveStatusError } Aug 13 06:58:01 violet
> > kernel: hde: Write Cache FAILED Flushing! Aug 13 06:58:01 violet
> > cardmgr[1559]: + /dev/hde1 umounted
> > Aug 13 06:58:01 violet kernel: updfstab: numerical sysctl 1 23 is
> > obsolete. Aug 13 06:58:02 violet kernel: hde: task_no_data_intr:
> > status=0x51 { DriveReady SeekComplete Error } Aug 13 06:58:02 violet
> > kernel: hde: task_no_data_intr: error=0x04 { DriveStatusError } Aug 13
> > 06:58:02 violet kernel: hde: Write Cache FAILED Flushing! Aug 13 06:58:02
> > violet kernel: Debug: sleeping function called from invalid context at
> > include/linux/rwsem.h:66 Aug 13 06:58:02 violet kernel: Call Trace:
> > Aug 13 06:58:02 violet kernel: [<c011bc81>] __might_sleep+0x61/0x80
> > Aug 13 06:58:02 violet kernel: [<c02376dc>] unlink+0x3c/0xa0
> > Aug 13 06:58:02 violet kernel: [<c0267a32>] kobj_unmap+0x62/0x110
> > Aug 13 06:58:02 violet kernel: [<c026cf62>]
> > blk_unregister_region+0x22/0x30 Aug 13 06:58:02 violet kernel:
> > [<c0287eb3>] ide_unregister+0x2f3/0x8d0 Aug 13 06:58:02 violet kernel:
> > [<d096cba4>] ide_release+0x94/0x130 [ide_cs] Aug 13 06:58:02 violet
> > kernel: [<d096c1fc>] ide_detach+0xac/0xc0 [ide_cs] Aug 13 06:58:02
> > violet kernel: [<d09727e2>] unbind_request+0xd2/0xe0 [ds] Aug 13
> > 06:58:02 violet kernel: [<d0972fa1>] ds_ioctl+0x441/0x770 [ds] Aug 13
> > 06:58:02 violet kernel: [<c01652b0>] sys_ioctl+0x100/0x290 Aug 13
> > 06:58:02 violet kernel: [<c010b1f9>] sysenter_past_esp+0x52/0x71
>
> The problem is IDE - ide_unregister() does the following:
>
> spin_lock_irq(&ide_lock);
> ...
> blk_unregister_region(MKDEV(hwif->major, 0),
> MAX_DRIVES<<PARTN_BITS);
>
> Since blk_unregister_region is sleepy, and sleeping with a spinlock
> held is a big NO NO, it's an IDE problem not a PCMCIA problem. It
> should be calling blk_unregister_region with a spinlock held.

Yep, thanks.
This patch should be sufficient until ide locking rework is ready.

--bartlomiej

drivers/ide/ide.c | 23 +++++++++++------------
1 files changed, 11 insertions(+), 12 deletions(-)

diff -puN drivers/ide/ide.c~ide-unregister-bandaid drivers/ide/ide.c
--- linux-2.6.0-test2-bk7/drivers/ide/ide.c~ide-unregister-bandaid 2003-08-13 19:39:13.281512048 +0200
+++ linux-2.6.0-test2-bk7-root/drivers/ide/ide.c 2003-08-13 19:43:49.900459576 +0200
@@ -778,6 +778,17 @@ void ide_unregister (unsigned int index)
/* More fucked up locking ... */
spin_unlock_irq(&ide_lock);
device_unregister(&hwif->gendev);
+
+ /*
+ * Remove us from the kernel's knowledge
+ */
+ blk_unregister_region(MKDEV(hwif->major, 0), MAX_DRIVES<<PARTN_BITS);
+ for (i = 0; i < MAX_DRIVES; i++) {
+ struct gendisk *disk = hwif->drives[i].disk;
+ hwif->drives[i].disk = NULL;
+ put_disk(disk);
+ }
+ unregister_blkdev(hwif->major, hwif->name);
spin_lock_irq(&ide_lock);

#if !defined(CONFIG_DMA_NONPCI)
@@ -793,18 +804,6 @@ void ide_unregister (unsigned int index)
hwif->dma_prdtable = 0;
}
#endif /* !(CONFIG_DMA_NONPCI) */
-
- /*
- * Remove us from the kernel's knowledge
- */
- blk_unregister_region(MKDEV(hwif->major, 0), MAX_DRIVES<<PARTN_BITS);
- for (i = 0; i < MAX_DRIVES; i++) {
- struct gendisk *disk = hwif->drives[i].disk;
- hwif->drives[i].disk = NULL;
- put_disk(disk);
- }
- unregister_blkdev(hwif->major, hwif->name);
-
old_hwif = *hwif;
init_hwif_data(index); /* restore hwif data to pristine status */
hwif->hwgroup = old_hwif.hwgroup;

_




2003-08-13 21:32:08

by Paul Dickson

[permalink] [raw]
Subject: Re: Deep call trace from PCMCIA CF eject

On Wed, 13 Aug 2003 19:50:16 +0200, Bartlomiej Zolnierkiewicz wrote:

> On Wednesday 13 of August 2003 18:53, Russell King wrote:
> >
> > The problem is IDE - ide_unregister() does the following:
> >
> > spin_lock_irq(&ide_lock);
> > ...
> > blk_unregister_region(MKDEV(hwif->major, 0),
> > MAX_DRIVES<<PARTN_BITS);
> >
> > Since blk_unregister_region is sleepy, and sleeping with a spinlock
> > held is a big NO NO, it's an IDE problem not a PCMCIA problem. It
> > should be calling blk_unregister_region with a spinlock held.
>
> Yep, thanks.
> This patch should be sufficient until ide locking rework is ready.
>
> --bartlomiej
>
> drivers/ide/ide.c | 23 +++++++++++------------
> 1 files changed, 11 insertions(+), 12 deletions(-)
>
> diff -puN drivers/ide/ide.c~ide-unregister-bandaid drivers/ide/ide.c
> --- linux-2.6.0-test2-bk7/drivers/ide/ide.c~ide-unregister-bandaid 2003-08-13 19:39:13.281512048 +0200
> +++ linux-2.6.0-test2-bk7-root/drivers/ide/ide.c 2003-08-13 19:43:49.900459576 +0200
> @@ -778,6 +778,17 @@ void ide_unregister (unsigned int index)
> /* More fucked up locking ... */
> spin_unlock_irq(&ide_lock);
> device_unregister(&hwif->gendev);
> +
> + /*
> + * Remove us from the kernel's knowledge
> + */
> + blk_unregister_region(MKDEV(hwif->major, 0), MAX_DRIVES<<PARTN_BITS);
> + for (i = 0; i < MAX_DRIVES; i++) {
> + struct gendisk *disk = hwif->drives[i].disk;
> + hwif->drives[i].disk = NULL;
> + put_disk(disk);
> + }
> + unregister_blkdev(hwif->major, hwif->name);
> spin_lock_irq(&ide_lock);
>
> #if !defined(CONFIG_DMA_NONPCI)
> @@ -793,18 +804,6 @@ void ide_unregister (unsigned int index)
> hwif->dma_prdtable = 0;
> }
> #endif /* !(CONFIG_DMA_NONPCI) */
> -
> - /*
> - * Remove us from the kernel's knowledge
> - */
> - blk_unregister_region(MKDEV(hwif->major, 0), MAX_DRIVES<<PARTN_BITS);
> - for (i = 0; i < MAX_DRIVES; i++) {
> - struct gendisk *disk = hwif->drives[i].disk;
> - hwif->drives[i].disk = NULL;
> - put_disk(disk);
> - }
> - unregister_blkdev(hwif->major, hwif->name);
> -
> old_hwif = *hwif;
> init_hwif_data(index); /* restore hwif data to pristine status */
> hwif->hwgroup = old_hwif.hwgroup;
>


Much, much better. Here's the log entries during an eject and insert.

Eject:

Aug 13 14:15:48 violet cardmgr[1552]: executing: './ide check hde'
Aug 13 14:15:49 violet cardmgr[1552]: executing: './ide stop hde'
Aug 13 14:15:49 violet kernel: hde: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
Aug 13 14:15:49 violet kernel: hde: task_no_data_intr: error=0x04 { DriveStatusError }
Aug 13 14:15:49 violet kernel: hde: Write Cache FAILED Flushing!
Aug 13 14:15:49 violet cardmgr[1552]: + /dev/hde1 umounted
Aug 13 14:15:49 violet kernel: updfstab: numerical sysctl 1 23 is obsolete.
Aug 13 14:15:50 violet kernel: hde: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
Aug 13 14:15:50 violet kernel: hde: task_no_data_intr: error=0x04 { DriveStatusError }
Aug 13 14:15:50 violet kernel: hde: Write Cache FAILED Flushing!
Aug 13 14:15:50 violet /sbin/hotplug: no runnable /etc/hotplug/block.agent is installed
Aug 13 14:15:50 violet /sbin/hotplug: no runnable /etc/hotplug/block.agent is installed
Aug 13 14:15:50 violet /sbin/hotplug: no runnable /etc/hotplug/ide.agent is installed


Insert:

Aug 13 14:17:04 violet cardmgr[1552]: socket 1: ATA/IDE Fixed Disk
Aug 13 14:17:08 violet kernel: hde: LEXAR ATA_FLASH, CFA DISK drive
Aug 13 14:17:08 violet kernel: hdf: probing with STATUS(0x00) instead of ALTSTATUS(0x0a)
Aug 13 14:17:08 violet kernel: hdf: probing with STATUS(0x00) instead of ALTSTATUS(0x0a)
Aug 13 14:17:08 violet kernel: ide2 at 0x100-0x107,0x10e on irq 3
Aug 13 14:17:08 violet /sbin/hotplug: no runnable /etc/hotplug/block.agent is installed
Aug 13 14:17:08 violet kernel: hde: max request size: 128KiB
Aug 13 14:17:08 violet kernel: hde: 62976 sectors (32 MB) w/1KiB Cache, CHS=984/2/32
Aug 13 14:17:08 violet /sbin/hotplug: no runnable /etc/hotplug/block.agent is installed
Aug 13 14:17:08 violet kernel: hde: hde1
Aug 13 14:17:08 violet kernel: hde: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
Aug 13 14:17:08 violet kernel: hde: task_no_data_intr: error=0x04 { DriveStatusError }
Aug 13 14:17:08 violet kernel: hde: Write Cache FAILED Flushing!
Aug 13 14:17:08 violet kernel: ide-cs: hde: Vcc = 3.3, Vpp = 0.0
Aug 13 14:17:09 violet /sbin/hotplug: no runnable /etc/hotplug/ide.agent is installed
Aug 13 14:17:08 violet cardmgr[1552]: executing: './ide start hde'
Aug 13 14:17:09 violet /sbin/hotplug: no runnable /etc/hotplug/block.agent is installed
Aug 13 14:17:09 violet kernel: hde: hde1
Aug 13 14:17:09 violet /sbin/hotplug: no runnable /etc/hotplug/block.agent is installed
Aug 13 14:17:09 violet cardmgr[1552]: + /dev/hde1 on /mnt/card type vfat (rw,gid=500,uid=500)
Aug 13 14:17:09 violet kernel: updfstab: numerical sysctl 1 23 is obsolete.
Aug 13 14:17:20 violet ntpd[2231]: kernel time discipline status change 1

-Paul