public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Russell King <rmk@arm.linux.org.uk>
To: Eivind Tagseth <eivindt@multinet.no>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Problems with PCMCIA Compact Flash adapter in 2.5.72
Date: Mon, 23 Jun 2003 10:29:41 +0100	[thread overview]
Message-ID: <20030623102941.D23411@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20030622191626.GA1811@tagseth-trd.consultit.no>; from eivindt@multinet.no on Sun, Jun 22, 2003 at 09:16:27PM +0200

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


  reply	other threads:[~2003-06-23  9:15 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2003-06-23 11:33             ` Alan Cox
2003-06-24  8:50             ` Eivind Tagseth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030623102941.D23411@flint.arm.linux.org.uk \
    --to=rmk@arm.linux.org.uk \
    --cc=eivindt@multinet.no \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox