All of lore.kernel.org
 help / color / mirror / Atom feed
* Problems with PCMCIA Compact Flash adapter in 2.5.72
@ 2003-06-20  8:18 Eivind Tagseth
  2003-06-20 17:50 ` Bill Davidsen
  2003-06-20 20:16 ` Russell King
  0 siblings, 2 replies; 11+ messages in thread
From: Eivind Tagseth @ 2003-06-20  8:18 UTC (permalink / raw)
  To: linux-kernel

I've got a Kingston Compact Flash adapter that I use to mount the flash
card of my digital camera.  I've had several problems with the kernel
with this, both 2.4.20, 2.5.69 and 2.5.72.

Both 2.4.20 and 2.5.69 works though, but oopses if I remove the card.
2.5.72 doesn't work at all:

(using yenta.ko)
Jun 18 21:09:19 [cardmgr] initializing socket 1
Jun 18 21:09:19 [cardmgr] socket 1: ATA/IDE Fixed Disk
Jun 18 21:09:19 [cardmgr] product info: "SanDisk", "SDP", "5/3 0.6"
Jun 18 21:09:19 [cardmgr] manfid: 0x0045, 0x0401  function: 4 (fixed disk)
Jun 18 21:09:19 [cardmgr] executing: 'modprobe ide-cs'
Jun 18 21:09:19 [cardmgr] bind 'ide-cs' to socket 1 failed: Invalid argument

I'm not sure what cardmgr tries to do with ide-cs, but it works with
2.5.69 but seems to have stopped working in 2.5.70 or 2.5.71 (didn't try
2.5.70) and is still not working in 2.5.72.  stracing cardmgr didn't help,
as the interesting parts are hidden inside a vfork which strace won't follow.

2.5.69 works (using yenta_socket.ko) and logs this:
Jun 15 20:43:19 [kernel] cs: memory probe 0xa0000000-0xa0ffffff: clean.
Jun 15 20:43:19 [cardmgr] socket 1: ATA/IDE Fixed Disk
Jun 15 20:43:20 [cardmgr] executing: 'modprobe ide-cs'
Jun 15 20:43:23 [kernel] hdc: Flash Card, CFA DISK drive
Jun 15 20:43:23 [kernel] hdc: max request size: 128KiB
Jun 15 20:43:23 [kernel] hdc: task_no_data_intr: status=0x51 { DriveReady SeekCo
mplete Error }
Jun 15 20:43:23 [kernel] hdc: 1006992 sectors (516 MB) w/0KiB Cache, CHS=999/16/
63
Jun 15 20:43:23 [kernel]  /dev/ide/host1/bus0/target0/lun0: p1
Jun 15 20:43:23 [cardmgr] executing: './ide start hdc'


Cardmgr is 3.2.4, pcmcia-cs is 3.2.4, gcc is 3.2.2.


I always seem to forget some vital information when reporting bugs, 
please don't hesitate to ask for more info.  I'll be happy to try any
patches to the kernel and/or cardmgr if needed.



Eivind

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Problems with PCMCIA Compact Flash adapter in 2.5.72
  2003-06-20  8:18 Problems with PCMCIA Compact Flash adapter in 2.5.72 Eivind Tagseth
@ 2003-06-20 17:50 ` Bill Davidsen
  2003-06-20 20:08   ` Russell King
  2003-06-20 20:16 ` Russell King
  1 sibling, 1 reply; 11+ messages in thread
From: Bill Davidsen @ 2003-06-20 17:50 UTC (permalink / raw)
  To: Eivind Tagseth; +Cc: linux-kernel

On Fri, 20 Jun 2003, Eivind Tagseth wrote:

> I've got a Kingston Compact Flash adapter that I use to mount the flash
> card of my digital camera.  I've had several problems with the kernel
> with this, both 2.4.20, 2.5.69 and 2.5.72.

I finally gave up on PCMCIA and invested $20 in a USB2.0 reader. Dies what
I need and seems to work with 2.4 and 2.5.6? when I last tried.

-- 
bill davidsen <davidsen@tmr.com>
  CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Problems with PCMCIA Compact Flash adapter in 2.5.72
  2003-06-20 17:50 ` Bill Davidsen
@ 2003-06-20 20:08   ` Russell King
  0 siblings, 0 replies; 11+ messages in thread
From: Russell King @ 2003-06-20 20:08 UTC (permalink / raw)
  To: Bill Davidsen; +Cc: Eivind Tagseth, linux-kernel

On Fri, Jun 20, 2003 at 01:50:56PM -0400, Bill Davidsen wrote:
> On Fri, 20 Jun 2003, Eivind Tagseth wrote:
> 
> > I've got a Kingston Compact Flash adapter that I use to mount the flash
> > card of my digital camera.  I've had several problems with the kernel
> > with this, both 2.4.20, 2.5.69 and 2.5.72.
> 
> I finally gave up on PCMCIA and invested $20 in a USB2.0 reader. Dies what
> I need and seems to work with 2.4 and 2.5.6? when I last tried.

Unfortunately, I seem to be unable to locate any reports describing
your problem(s).

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Problems with PCMCIA Compact Flash adapter in 2.5.72
  2003-06-20  8:18 Problems with PCMCIA Compact Flash adapter in 2.5.72 Eivind Tagseth
  2003-06-20 17:50 ` Bill Davidsen
@ 2003-06-20 20:16 ` Russell King
  2003-06-22 11:46   ` Eivind Tagseth
  1 sibling, 1 reply; 11+ messages in thread
From: Russell King @ 2003-06-20 20:16 UTC (permalink / raw)
  To: Eivind Tagseth; +Cc: linux-kernel

On Fri, Jun 20, 2003 at 10:18:46AM +0200, Eivind Tagseth wrote:
> I've got a Kingston Compact Flash adapter that I use to mount the flash
> card of my digital camera.  I've had several problems with the kernel
> with this, both 2.4.20, 2.5.69 and 2.5.72.

Hmm, you mention pcmcia-cs 3.2.4 later in your mail.  Are you trying to
get pcmcia-cs modules to work with the 2.5.72 pcmcia subsystem?

> I always seem to forget some vital information when reporting bugs, 
> please don't hesitate to ask for more info.  I'll be happy to try any
> patches to the kernel and/or cardmgr if needed.

There is this which fixes some people problems, and is already in Linus'
recent bk tree.  Does this solve your problem?

--- orig/drivers/pcmcia/cs.c	Tue Jun 17 12:56:30 2003
+++ linux/drivers/pcmcia/cs.c	Wed Jun 18 09:47:39 2003
@@ -816,7 +816,8 @@
 				if ((skt->state & SOCKET_PRESENT) &&
 				     !(status & SS_DETECT))
 					socket_shutdown(skt);
-				if (status & SS_DETECT)
+				if (!(skt->state & SOCKET_PRESENT) &&
+				    status & SS_DETECT)
 					socket_insert(skt);
 			}
 			if (events & SS_BATDEAD)

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Problems with PCMCIA Compact Flash adapter in 2.5.72
  2003-06-20 20:16 ` Russell King
@ 2003-06-22 11:46   ` Eivind Tagseth
  2003-06-22 13:15     ` Russell King
  0 siblings, 1 reply; 11+ messages in thread
From: Eivind Tagseth @ 2003-06-22 11:46 UTC (permalink / raw)
  To: linux-kernel

* Russell King <rmk@arm.linux.org.uk> [030620 22:18]:
> Hmm, you mention pcmcia-cs 3.2.4 later in your mail.  Are you trying to
> get pcmcia-cs modules to work with the 2.5.72 pcmcia subsystem?

Of course not.  But I need pcmcia-cs for cardmgr and other tools.  The
modules are from 2.5.72.  I've also got a wireless card, which works
fine.

After learning about the -F flag to strace, I've been able to figure
out a little bit more about what cardmgr is doing:

3158  ioctl(4, 0xc050643c, 0x8054160)   = -1 EINVAL (Invalid argument)

As far as I can see, this is cardmgr calling ioctl(xx, DS_BIND_REQUEST, xx),
which is defined as:
	_IOWR('d', 60, bind_info_t)

> There is this which fixes some people problems, and is already in Linus'
> recent bk tree.  Does this solve your problem?

Nope, no change I'm afraid.




Eivind

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Problems with PCMCIA Compact Flash adapter in 2.5.72
  2003-06-22 11:46   ` Eivind Tagseth
@ 2003-06-22 13:15     ` Russell King
  2003-06-22 18:28       ` Eivind Tagseth
  0 siblings, 1 reply; 11+ messages in thread
From: Russell King @ 2003-06-22 13:15 UTC (permalink / raw)
  To: Eivind Tagseth; +Cc: linux-kernel

On Sun, Jun 22, 2003 at 01:46:42PM +0200, Eivind Tagseth wrote:
> > There is this which fixes some people problems, and is already in Linus'
> > recent bk tree.  Does this solve your problem?
> 
> Nope, no change I'm afraid.

There appears to be something of an inconsistency in the naming (again)
for ide-cs.  This should fix it.

--- orig/drivers/ide/legacy/ide-cs.c	Sat Jun 14 22:33:52 2003
+++ linux/drivers/ide/legacy/ide-cs.c	Sun Jun 22 14:14:35 2003
@@ -473,7 +473,7 @@
 static struct pcmcia_driver ide_cs_driver = {
 	.owner		= THIS_MODULE,
 	.drv		= {
-		.name	= "ide_cs",
+		.name	= "ide-cs",
 	},
 	.attach		= ide_attach,
 	.detach		= ide_detach,

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Problems with PCMCIA Compact Flash adapter in 2.5.72
  2003-06-22 13:15     ` Russell King
@ 2003-06-22 18:28       ` Eivind Tagseth
  2003-06-22 19:16         ` Eivind Tagseth
  0 siblings, 1 reply; 11+ messages in thread
From: Eivind Tagseth @ 2003-06-22 18:28 UTC (permalink / raw)
  To: linux-kernel

* Russell King <rmk@arm.linux.org.uk> [030622 15:18]:
> There appears to be something of an inconsistency in the naming (again)
> for ide-cs.  This should fix it.

Much better.  At least I think so:

Jun 22 20:22:16 [cardmgr] initializing socket 1
Jun 22 20:22:16 [cardmgr] socket 1: ATA/IDE Fixed Disk
Jun 22 20:22:16 [cardmgr] product info: "SanDisk", "SDP", "5/3 0.6"
Jun 22 20:22:16 [cardmgr] manfid: 0x0045, 0x0401  function: 4 (fixed disk)
Jun 22 20:22:16 [cardmgr] executing: 'modprobe ide-cs'
Jun 22 20:22:19 [kernel] hdc: SanDisk SDCFB-32, CFA DISK drive
Jun 22 20:22:19 [kernel] hdc: max request size: 128KiB
Jun 22 20:22:19 [kernel]  /dev/ide/host1/bus0/target0/lun0: p1
Jun 22 20:22:19 [kernel] devfs_mk_bdev: could not append to parent for ide/host1/bus0/target0/lun0/part1
Jun 22 20:22:19 [kernel] kobject_register failed for hdc1 (-17)
Jun 22 20:22:19 [kernel] Call Trace:
Jun 22 20:22:19 [kernel]  [<c0212640>] kobject_register+0x50/0x60
Jun 22 20:22:19 [kernel]  [<c0186377>] register_disk+0x147/0x180
Jun 22 20:22:19 [kernel]  [<c0245d40>] add_disk+0x50/0x60
Jun 22 20:22:19 [kernel]  [<c0245cc0>] exact_match+0x0/0x10
Jun 22 20:22:19 [kernel]  [<c0245cd0>] exact_lock+0x0/0x20
Jun 22 20:22:19 [kernel]  [<c02643f9>] idedisk_attach+0x129/0x1b0
Jun 22 20:22:19 [kernel]  [<c026032f>] ata_attach+0x9f/0x1c0
Jun 22 20:22:19 [kernel]  [<c02597c3>] ideprobe_init+0xe3/0xff
Jun 22 20:22:19 [kernel]  [<c025e833>] ide_probe_module+0x13/0x20
Jun 22 20:22:19 [kernel]  [<c025f47f>] ide_register_hw+0x15f/0x190
Jun 22 20:22:19 [kernel]  [<d0a98276>] idecs_register+0x66/0x80 [ide_cs]
Jun 22 20:22:19 [kernel]  [<d32c8225>] CardServices+0x215/0x362 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d0a987c8>] ide_config+0x538/0x8a0 [ide_cs]
Jun 22 20:22:19 [kernel]  [<d32c00c4>] set_cis_map+0x44/0x120 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d32c02cc>] read_cis_mem+0x12c/0x1a0 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d32c0596>] read_cis_cache+0xe6/0x170 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d32c0f1b>] pcmcia_get_tuple_data+0x9b/0xa0 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d32c225f>] pcmcia_parse_tuple+0x10f/0x180 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d32c2373>] read_tuple+0xa3/0xb0 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d0a887c3>] yenta_set_mem_map+0x1c3/0x220 [yenta]
Jun 22 20:22:19 [kernel]  [<d32c0e30>] pcmcia_get_next_tuple+0x240/0x290 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d32c0955>] pcmcia_get_first_tuple+0xb5/0x160 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d0a887c3>] yenta_set_mem_map+0x1c3/0x220 [yenta]
Jun 22 20:22:19 [kernel]  [<d0a887c3>] yenta_set_mem_map+0x1c3/0x220 [yenta]
Jun 22 20:22:19 [kernel]  [<d32c00c4>] set_cis_map+0x44/0x120 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d32c02cc>] read_cis_mem+0x12c/0x1a0 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d32c0596>] read_cis_cache+0xe6/0x170 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d32c0f1b>] pcmcia_get_tuple_data+0x9b/0xa0 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d32c225f>] pcmcia_parse_tuple+0x10f/0x180 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d32c2373>] read_tuple+0xa3/0xb0 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d0a887c3>] yenta_set_mem_map+0x1c3/0x220 [yenta]
Jun 22 20:22:19 [kernel]  [<d32c0e30>] pcmcia_get_next_tuple+0x240/0x290 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d32c0955>] pcmcia_get_first_tuple+0xb5/0x160 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d32c0596>] read_cis_cache+0xe6/0x170 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d32c0e30>] pcmcia_get_next_tuple+0x240/0x290 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<c020271a>] set_bit_in_list_bitmap+0x5a/0x70
Jun 22 20:22:19 [kernel]  [<c01f0fd1>] check_left+0x141/0x170
Jun 22 20:22:19 [kernel]  [<c01fcff3>] pathrelse_and_restore+0x43/0x50
Jun 22 20:22:19 [kernel]  [<d0a98cc7>] ide_event+0x67/0x100 [ide_cs]
Jun 22 20:22:19 [kernel]  [<d32c6c83>] pcmcia_register_client+0x213/0x280 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d0a887c3>] yenta_set_mem_map+0x1c3/0x220 [yenta]
Jun 22 20:22:19 [kernel]  [<d32c81be>] CardServices+0x1ae/0x362 [pcmcia_core]
Jun 22 20:22:19 [kernel]  [<d0a9810e>] +0x10e/0x150 [ide_cs]
Jun 22 20:22:19 [kernel]  [<d0a99ac0>] dev_info+0x0/0x20 [ide_cs]
Jun 22 20:22:19 [kernel]  [<d0a98c60>] ide_event+0x0/0x100 [ide_cs]
Jun 22 20:22:19 [kernel]  [<d0a98db5>] +0x1c/0x27 [ide_cs]
Jun 22 20:22:19 [kernel]  [<d0a9447f>] get_pcmcia_driver+0x3f/0x50 [ds]
Jun 22 20:22:19 [kernel]  [<d0a99b00>] ide_cs_driver+0x0/0x80 [ide_cs]
Jun 22 20:22:19 [kernel]  [<d0a93536>] bind_request+0x186/0x220 [ds]
Jun 22 20:22:19 [kernel]  [<d0a98db5>] +0x1c/0x27 [ide_cs]
Jun 22 20:22:19 [kernel]  [<d0a9410a>] ds_ioctl+0x5ca/0x6c0 [ds]
Jun 22 20:22:19 [kernel]  [<c028a260>] sock_def_readable+0x80/0x90
Jun 22 20:22:19 [kernel]  [<c02ddbb7>] unix_dgram_sendmsg+0x377/0x570
Jun 22 20:22:19 [kernel]  [<c0286a9e>] sock_sendmsg+0x9e/0xd0
Jun 22 20:22:19 [kernel]  [<c016e84f>] wake_up_inode+0xf/0x30
Jun 22 20:22:19 [kernel]  [<c017fc41>] proc_get_inode+0x161/0x190
Jun 22 20:22:19 [kernel]  [<c013bb2e>] buffered_rmqueue+0xce/0x1a0
Jun 22 20:22:19 [kernel]  [<c014419b>] zap_pmd_range+0x4b/0x70
Jun 22 20:22:19 [kernel]  [<c014420b>] unmap_page_range+0x4b/0x90
Jun 22 20:22:19 [kernel]  [<c014431f>] unmap_vmas+0xcf/0x240
Jun 22 20:22:19 [kernel]  [<c0148145>] unmap_region+0x95/0xe0
Jun 22 20:22:19 [kernel]  [<c0148042>] unmap_vma+0x42/0x80
Jun 22 20:22:19 [kernel]  [<c014809f>] unmap_vma_list+0x1f/0x30
Jun 22 20:22:19 [kernel]  [<c014848d>] do_munmap+0x15d/0x1c0
Jun 22 20:22:19 [kernel]  [<c0166620>] sys_ioctl+0x100/0x290
Jun 22 20:22:19 [kernel]  [<c01092db>] syscall_call+0x7/0xb
Jun 22 20:22:19 [kernel] 
Jun 22 20:22:19 [cardmgr] executing: './ide start hdc'
Jun 22 20:22:19 [kernel] Module ide_cs cannot be unloaded due to unsafe usage in include/linux/module.h:479
Jun 22 20:22:19 [kernel] Unable to handle kernel NULL pointer dereference at virtual address 0000004f
Jun 22 20:22:19 [cardmgr] start cmd exited with status 139


lsmod:

Module                  Size  Used by
ide_cs                  7552  2 [unsafe]
ds                     15200  5 ide_cs
yenta                  13216  2 
pcmcia_core            72224  3 ide_cs,ds,yenta
r128                   95224  2 
agpgart                31752  0 
usbcore               110612  1 
psmouse                 8324  0 
mousedev                9044  1 

ls on /dev/discs/disc1 hangs and is unkillable, and attempting to mount it
hangs forever as well.




Eivind

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Problems with PCMCIA Compact Flash adapter in 2.5.72
  2003-06-22 18:28       ` Eivind Tagseth
@ 2003-06-22 19:16         ` Eivind Tagseth
  2003-06-23  9:29           ` Russell King
  0 siblings, 1 reply; 11+ messages in thread
From: Eivind Tagseth @ 2003-06-22 19:16 UTC (permalink / raw)
  To: linux-kernel

* Eivind Tagseth <eivindt@multinet.no> [030622 20:31]:
> * Russell King <rmk@arm.linux.org.uk> [030622 15:18]:
> > There appears to be something of an inconsistency in the naming (again)
> > for ide-cs.  This should fix it.
> 
> Much better.  At least I think so:
> 
> Jun 22 20:22:19 [kernel] kobject_register failed for hdc1 (-17)
> Jun 22 20:22:19 [kernel] Call Trace:

Actually, rebooting and retrying, it works:


Jun 22 20:52:37 [cardmgr] initializing socket 1
Jun 22 20:52:37 [kernel] cs: memory probe 0xa0000000-0xa0ffffff: clean.
Jun 22 20:52:37 [cardmgr] socket 1: ATA/IDE Fixed Disk
Jun 22 20:52:37 [cardmgr] product info: "SanDisk", "SDP", "5/3 0.6"
Jun 22 20:52:37 [cardmgr] manfid: 0x0045, 0x0401  function: 4 (fixed disk)
Jun 22 20:52:37 [cardmgr] executing: 'modprobe ide-cs'
Jun 22 20:52:40 [kernel] hdc: SanDisk SDCFB-32, CFA DISK drive
Jun 22 20:52:40 [kernel] hdc: max request size: 128KiB
Jun 22 20:52:40 [kernel]  /dev/ide/host1/bus0/target0/lun0: p1
Jun 22 20:52:40 [kernel] Module ide_cs cannot be unloaded due to unsafe usage in
 include/linux/module.h:479
Jun 22 20:52:40 [cardmgr] executing: './ide start hdc'
Jun 22 20:52:40 [cardmgr] + mknod /dev/hdc b 22 0
Jun 22 20:52:40 [cardmgr] + mknod: `/dev/hdc': File exists
Jun 22 20:52:40 [cardmgr] + mknod /dev/hdc1 b 22 1
Jun 22 20:52:40 [cardmgr] + mknod: `/dev/hdc1': File exists
Jun 22 20:52:40 [cardmgr] + mknod /dev/hdc2 b 22 2
Jun 22 20:52:40 [cardmgr] + mknod /dev/hdc3 b 22 3
.
.
.
Jun 22 20:52:40 [cardmgr] + mknod /dev/hdc16 b 22 16


However, removing the card causes a kernel panic, and everything completely
freezes.  This also happened with 2.5.69, so it's not caused by a recent
change.

If I'm not _supposed_ to be able to remove the card, or if I'm doing it
the wrong way, please let me know... 

I'm unable to see the top of the panic, and I'm too lazy to type
it all down, but here's what I did see:

try_to_wake_up
default_wake_function
ide_release
update_process_times
ide_release
run_timer
do_timer
do_softirq
do_IRQ
common_interrupt
sys_ipc
apm_bios_call_simple
apm_do_idle
apm_cpu_idle
apm_cpu_idle
default_idle
cpu_idle
_stext
start_kernel
unknown_bootoption

Code: 0f 0b 4b 02 3f fd 31 c0 e9 a6 f7 ff ff 8d 74 26 00 55 31 d2
<0>Kernel panic: Fatal exception in interrupt


(beware of typos).

If providing all the info helps you, I'll do it.  I have no idea what I can
do to read the whole message though.



Eivind

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Problems with PCMCIA Compact Flash adapter in 2.5.72
  2003-06-22 19:16         ` Eivind Tagseth
@ 2003-06-23  9:29           ` Russell King
  2003-06-23 11:33             ` Alan Cox
  2003-06-24  8:50             ` Eivind Tagseth
  0 siblings, 2 replies; 11+ messages in thread
From: Russell King @ 2003-06-23  9:29 UTC (permalink / raw)
  To: Eivind Tagseth; +Cc: linux-kernel

On Sun, Jun 22, 2003 at 09:16:27PM +0200, Eivind Tagseth wrote:
> However, removing the card causes a kernel panic, and everything completely
> freezes.  This also happened with 2.5.69, so it's not caused by a recent
> change.

ide-cs currently calls ide_unregister from interrupt context, which is
a big nono.  Can you try the following patch please (which is completely
untested)?

--- orig/drivers/ide/legacy/ide-cs.c	Sat Jun 14 22:33:52 2003
+++ linux/drivers/ide/legacy/ide-cs.c	Mon Jun 23 10:27:20 2003
@@ -92,7 +92,7 @@
     int		hd;
 } ide_info_t;
 
-static void ide_release(u_long arg);
+static void ide_release(dev_link_t *link);
 static int ide_event(event_t event, int priority,
 		     event_callback_args_t *args);
 
@@ -126,9 +126,6 @@
     memset(info, 0, sizeof(*info));
     link = &info->link; link->priv = info;
 
-    init_timer(&link->release);
-    link->release.function = &ide_release;
-    link->release.data = (u_long)link;
     link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO;
     link->io.Attributes2 = IO_DATA_PATH_WIDTH_8;
     link->io.IOAddrLines = 3;
@@ -187,9 +184,8 @@
     if (*linkp == NULL)
 	return;
 
-    del_timer(&link->release);
     if (link->state & DEV_CONFIG)
-	ide_release((u_long)link);
+	ide_release(link);
     
     if (link->handle) {
 	ret = CardServices(DeregisterClient, link->handle);
@@ -383,7 +379,7 @@
 cs_failed:
     cs_error(link->handle, last_fn, last_ret);
 failed:
-    ide_release((u_long)link);
+    ide_release(link);
     link->state &= ~DEV_CONFIG_PENDING;
 
 } /* ide_config */
@@ -396,9 +392,8 @@
     
 ======================================================================*/
 
-void ide_release(u_long arg)
+void ide_release(dev_link_t *link)
 {
-    dev_link_t *link = (dev_link_t *)arg;
     ide_info_t *info = link->priv;
     
     DEBUG(0, "ide_release(0x%p)\n", link);
@@ -446,7 +441,7 @@
     case CS_EVENT_CARD_REMOVAL:
 	link->state &= ~DEV_PRESENT;
 	if (link->state & DEV_CONFIG)
-	    mod_timer(&link->release, jiffies + HZ/20);
+	    ide_release(link);
 	break;
     case CS_EVENT_CARD_INSERTION:
 	link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;


-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Problems with PCMCIA Compact Flash adapter in 2.5.72
  2003-06-23  9:29           ` Russell King
@ 2003-06-23 11:33             ` Alan Cox
  2003-06-24  8:50             ` Eivind Tagseth
  1 sibling, 0 replies; 11+ messages in thread
From: Alan Cox @ 2003-06-23 11:33 UTC (permalink / raw)
  To: Russell King; +Cc: Eivind Tagseth, Linux Kernel Mailing List

On Llu, 2003-06-23 at 10:29, Russell King wrote:
> On Sun, Jun 22, 2003 at 09:16:27PM +0200, Eivind Tagseth wrote:
> > However, removing the card causes a kernel panic, and everything completely
> > freezes.  This also happened with 2.5.69, so it's not caused by a recent
> > change.
> 
> ide-cs currently calls ide_unregister from interrupt context, which is
> a big nono.  Can you try the following patch please (which is completely
> untested)?
> 

This is better but still wrong in a way - ide_unregister can fail and
ide-cs in both 2.4 and 2.5 doesnt recover from that, or know about the
new "unplugged" ops it should force


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Problems with PCMCIA Compact Flash adapter in 2.5.72
  2003-06-23  9:29           ` Russell King
  2003-06-23 11:33             ` Alan Cox
@ 2003-06-24  8:50             ` Eivind Tagseth
  1 sibling, 0 replies; 11+ messages in thread
From: Eivind Tagseth @ 2003-06-24  8:50 UTC (permalink / raw)
  To: linux-kernel

* Russell King <rmk@arm.linux.org.uk> [030623 11:32]:
> On Sun, Jun 22, 2003 at 09:16:27PM +0200, Eivind Tagseth wrote:
> > However, removing the card causes a kernel panic, and everything completely
> > freezes.  This also happened with 2.5.69, so it's not caused by a recent
> > change.
> 
> ide-cs currently calls ide_unregister from interrupt context, which is
> a big nono.  Can you try the following patch please (which is completely
> untested)?

Ok, I tried it (with 2.5.73), with slightly better success.  I still
get oopses, but the system doesn't hang completely anymore.  But the pcmcia
system (and probably more) is unstable afterwards.  There are oopses
when shutting down as well...

Console output when inserting the card:

hdc: SanDisk SDCFB-32, CFA DISK drive
ide1 at 0x140-0x147,0x14e on irq 9
hdc: max request size: 128KiB
hdc: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
hdc: task_no_data_intr: error=0x04 { DriveStatusError }
hdc: 62720 sectors (32 MB) w/1KiB Cache, CHS=490/4/32
 /dev/ide/host1/bus0/target0/lun0: p1
 /dev/ide/host1/bus0/target0/lun0: p1
devfs_mk_bdev: could not append to parent for ide/host1/bus0/target0/lun0/part1
kobject_register failed for hdc1 (-17)
Call Trace:
 [<c0213560>] kobject_register+0x50/0x60
 [<c0186ff7>] register_disk+0x147/0x180
 [<c0245e20>] add_disk+0x50/0x60
 [<c0245da0>] exact_match+0x0/0x10
 [<c0245db0>] exact_lock+0x0/0x20
 [<c0264789>] idedisk_attach+0x129/0x1b0
 [<c02606af>] ata_attach+0x9f/0x1c0
 [<c0259a23>] ideprobe_init+0xe3/0xff
 [<c025ebb3>] ide_probe_module+0x13/0x20
 [<c025f7ff>] ide_register_hw+0x15f/0x190
 [<d0aa3246>] idecs_register+0x66/0x80 [ide_cs]
 [<d0a912a5>] CardServices+0x215/0x362 [pcmcia_core]
 [<d0aa3798>] ide_config+0x538/0x8a0 [ide_cs]
 [<d0a890bc>] set_cis_map+0x3c/0x120 [pcmcia_core]
 [<d0a892cc>] read_cis_mem+0x12c/0x1a0 [pcmcia_core]
 [<d0a89596>] read_cis_cache+0xe6/0x170 [pcmcia_core]
 [<d0a89f1b>] pcmcia_get_tuple_data+0x9b/0xa0 [pcmcia_core]
 [<d0a8b25f>] pcmcia_parse_tuple+0x10f/0x180 [pcmcia_core]
 [<d0a8b373>] read_tuple+0xa3/0xb0 [pcmcia_core]
 [<d0a577c3>] yenta_set_mem_map+0x1c3/0x220 [yenta_socket]
 [<c0119105>] __ioremap+0xe5/0x120
 [<d0a89e30>] pcmcia_get_next_tuple+0x240/0x290 [pcmcia_core]
 [<d0a89955>] pcmcia_get_first_tuple+0xb5/0x160 [pcmcia_core]
 [<d0a577c3>] yenta_set_mem_map+0x1c3/0x220 [yenta_socket]
 [<d0a577c3>] yenta_set_mem_map+0x1c3/0x220 [yenta_socket]
 [<d0a890bc>] set_cis_map+0x3c/0x120 [pcmcia_core]
 [<d0a892cc>] read_cis_mem+0x12c/0x1a0 [pcmcia_core]
 [<d0a89596>] read_cis_cache+0xe6/0x170 [pcmcia_core]
 [<d0a89f1b>] pcmcia_get_tuple_data+0x9b/0xa0 [pcmcia_core]
 [<d0a8b25f>] pcmcia_parse_tuple+0x10f/0x180 [pcmcia_core]
 [<d0a8b373>] read_tuple+0xa3/0xb0 [pcmcia_core]
 [<d0a577c3>] yenta_set_mem_map+0x1c3/0x220 [yenta_socket]
 [<c0119105>] __ioremap+0xe5/0x120
 [<d0a89e30>] pcmcia_get_next_tuple+0x240/0x290 [pcmcia_core]
 [<d0a89955>] pcmcia_get_first_tuple+0xb5/0x160 [pcmcia_core]
 [<d0a89596>] read_cis_cache+0xe6/0x170 [pcmcia_core]
 [<d0a89e30>] pcmcia_get_next_tuple+0x240/0x290 [pcmcia_core]
 [<d0a8b4b3>] pcmcia_validate_cis+0x133/0x210 [pcmcia_core]
 [<c0157662>] __find_get_block+0x92/0xf0
 [<c01f1ca1>] create_virtual_node+0x361/0x540
 [<c01fdfd3>] pathrelse_and_restore+0x43/0x50
 [<d0aa3c88>] ide_event+0x58/0xe0 [ide_cs]
 [<d0a8fd03>] pcmcia_register_client+0x213/0x280 [pcmcia_core]
 [<d0a577c3>] yenta_set_mem_map+0x1c3/0x220 [yenta_socket]
 [<d0a9123e>] CardServices+0x1ae/0x362 [pcmcia_core]
 [<d0aa30f3>] +0xf3/0x130 [ide_cs]
 [<d0aa4960>] dev_info+0x0/0x20 [ide_cs]
 [<d0aa3c30>] ide_event+0x0/0xe0 [ide_cs]
 [<d0aa3d65>] +0x1c/0x37 [ide_cs]
 [<d0a634bf>] get_pcmcia_driver+0x3f/0x50 [ds]
 [<d0aa49a0>] ide_cs_driver+0x0/0x80 [ide_cs]
 [<d0a62536>] bind_request+0x186/0x220 [ds]
 [<d0aa3d65>] +0x1c/0x37 [ide_cs]
 [<d0a63141>] ds_ioctl+0x601/0x700 [ds]
 [<c011ae76>] preempt_schedule+0x36/0x50
 [<c02de8a7>] unix_dgram_sendmsg+0x377/0x580
 [<c013c2e0>] __alloc_pages+0xa0/0x330
 [<c028705e>] sock_sendmsg+0x9e/0xd0
 [<c0118b6c>] do_page_fault+0x23c/0x456
 [<c016f32f>] wake_up_inode+0xf/0x30
 [<c0180871>] proc_get_inode+0x161/0x190
 [<c013c16e>] buffered_rmqueue+0xce/0x1a0
 [<c014486b>] zap_pmd_range+0x4b/0x70
 [<c01448db>] unmap_page_range+0x4b/0x90
 [<c01449ef>] unmap_vmas+0xcf/0x240
 [<c0148815>] unmap_region+0x95/0xe0
 [<c0148712>] unmap_vma+0x42/0x80
 [<c014876f>] unmap_vma_list+0x1f/0x30
 [<c0148b5d>] do_munmap+0x15d/0x1c0
 [<c0167050>] sys_ioctl+0x100/0x290
 [<c010931b>] syscall_call+0x7/0xb

Module ide_cs cannot be unloaded due to unsafe usage in include/linux/module.h:479
ide-cs: hdc: Vcc = 3.3, Vpp = 0.0


(this also happens without your patch.  I reported it earlier for 2.5.72, but
I said that it didn't happen after I rebooted.  With 2.5.73 (without your
patch) it happens every time.

The device still works though, even with this not very encouraging message.


Console messages when physically removing the card (I haven't mounted
it or done anything with it since inserting the card):

devfs_remove: ide/host1/bus0/target0/lun0/disc not found, cannot remove
Call Trace:
 [<c01b014d>] devfs_remove+0xad/0xb0
 [<c0245d91>] blk_unregister_region+0x21/0x30
 [<c01876ce>] devfs_remove_disk+0x4e/0x95
 [<c0187327>] del_gendisk+0x87/0xe0
 [<c02643e8>] idedisk_cleanup+0x48/0x60
 [<c025f613>] ide_unregister+0x863/0x890
 [<c011ac2b>] schedule+0x1bb/0x3d0
 [<c0126629>] schedule_timeout+0x69/0xc0
 [<d0aa3b94>] ide_release+0x94/0x130 [ide_cs]
 [<d0aa3c7a>] ide_event+0x4a/0xe0 [ide_cs]
 [<d0a8e361>] send_event+0x61/0x70 [pcmcia_core]
 [<d0a8e3e0>] socket_remove_drivers+0x20/0x50 [pcmcia_core]
 [<d0a8e423>] socket_shutdown+0x13/0x60 [pcmcia_core]
 [<d0a8e9a3>] pccardd+0x143/0x210 [pcmcia_core]
 [<c011ae90>] default_wake_function+0x0/0x30
 [<c01091f2>] ret_from_fork+0x6/0x14
 [<c011ae90>] default_wake_function+0x0/0x30
 [<d0a8e860>] pccardd+0x0/0x210 [pcmcia_core]
 [<c01071e5>] kernel_thread_helper+0x5/0x10


There are some weird messages about devices.

This is what it looks like when the card is in:

brw-------    1 eivindt  root      22,   1 Jan  1  1970 /dev/ide/host1/bus0/target0/lun0/part1

This is what it looks like when it's been removed:

drwxr-xr-x    1 root     root            0 Jan  1  1970 /dev/ide/host1/bus0/target0/

There is not /dev/ide/host1 when the card has not been inserted at all.


Hope this helps,  Eivind

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2003-06-24  8:36 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-06-20  8:18 Problems with PCMCIA Compact Flash adapter in 2.5.72 Eivind Tagseth
2003-06-20 17:50 ` Bill Davidsen
2003-06-20 20:08   ` Russell King
2003-06-20 20:16 ` Russell King
2003-06-22 11:46   ` Eivind Tagseth
2003-06-22 13:15     ` Russell King
2003-06-22 18:28       ` Eivind Tagseth
2003-06-22 19:16         ` Eivind Tagseth
2003-06-23  9:29           ` Russell King
2003-06-23 11:33             ` Alan Cox
2003-06-24  8:50             ` Eivind Tagseth

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.