public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Parag Warudkar <kernel-stuff@comcast.net>
To: akpm@osdl.org, linux-kernel@vger.kernel.org,
	linux1394-devel@lists.sourceforge.net,
	Jody McIntyre <scjody@modernduck.com>
Subject: [PATCH] raw1394 : Fix hang on unload
Date: Sun, 06 Feb 2005 14:41:15 -0500	[thread overview]
Message-ID: <1107718875.4378.25.camel@localhost.localdomain> (raw)

[-- Attachment #1: Type: text/plain, Size: 1079 bytes --]

I was seeing rmmod getting stuck consistently in D state while removing
raw1394. Looking at raw1394.c:cleanup_raw1394 - the order of doing
things seemed incorrect to me after comparing other places in raw1394.c
which do the same thing but with a different order.

bash          R  running task       0  4319   3884                3900
(NOTLB)
rmmod         D 0000008428792a16     0  4490   3900
(NOTLB)
ffff81001cff9dd8 0000000000000082 0000000000000000 0000000100000000
       0000007400000000 ffff8100211c9070 000000000000097b
ffff81002c8a2800
       ffffffff80397c97 ffff81002b6f9360
Call Trace:<ffffffff80379d25>{__down+421}
<ffffffff80133510>{default_wake_function+0}
       <ffffffff8037cd8c>{__down_failed+53}
<ffffffff801c0e40>{generic_delete_inode+0}
       <ffffffff8029e540>{.text.lock.driver+5}
<ffffffff885a8260>{:raw1394:cleanup_raw1394+16}
       <ffffffff8015eb31>{sys_delete_module+497}
<ffffffff8021a692>{__up_write+514}
       <ffffffff80183efb>{sys_munmap+107} <ffffffff8010ecda>{system_call
+126}

Attached patch fixes the rmmod raw1394 hang. Tested.

Parag

[-- Attachment #2: raw1394.c.patch --]
[-- Type: text/x-patch, Size: 460 bytes --]

--- drivers/ieee1394/raw1394.c.orig	2005-02-06 14:34:58.000000000 -0500
+++ drivers/ieee1394/raw1394.c	2005-02-06 14:36:18.000000000 -0500
@@ -2758,10 +2758,10 @@
 
 static void __exit cleanup_raw1394(void)
 {
-	hpsb_unregister_protocol(&raw1394_driver);
 	cdev_del(&raw1394_cdev);
         devfs_remove(RAW1394_DEVICE_NAME);
         hpsb_unregister_highlevel(&raw1394_highlevel);
+	hpsb_unregister_protocol(&raw1394_driver);
 }
 
 module_init(init_raw1394);

             reply	other threads:[~2005-02-06 19:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-06 19:41 Parag Warudkar [this message]
2005-02-07 10:19 ` [PATCH] raw1394 : Fix hang on unload hugang
2005-02-08 14:24   ` J.A. Magallon
2005-02-08 16:40     ` Parag Warudkar

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=1107718875.4378.25.camel@localhost.localdomain \
    --to=kernel-stuff@comcast.net \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux1394-devel@lists.sourceforge.net \
    --cc=scjody@modernduck.com \
    /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