From: James Bottomley <James.Bottomley@SteelEye.com>
To: Andrew Vasquez <andrew.vasquez@qlogic.com>
Cc: Andrew Morton <akpm@osdl.org>, linux-scsi@vger.kernel.org
Subject: Re: [SCSI] fix scsi_reap_target() device_del from atomic context
Date: Fri, 23 Dec 2005 14:30:49 -0600 [thread overview]
Message-ID: <1135369849.3728.39.camel@mulgrave> (raw)
In-Reply-To: <20051223200532.GI1112@andrew-vasquezs-powerbook-g4-15.local>
On Fri, 2005-12-23 at 12:05 -0800, Andrew Vasquez wrote:
> EIP is at sysfs_hash_and_remove+0x31/0x11f
> eax: 00000000 ebx: 6b6b6b6b ecx: 00000000 edx: ee6aac68
> esi: 6b6b6b6b edi: f8839d44 ebp: f8839cc0 esp: c1af7e98
> ds: 007b es: 007b ss: 0068
> Process events/2 (pid: 16, threadinfo=c1af7000 task=c1aef030)
> Stack: c03998d2 00000063 eb6a0e2c eb6a0e24 f8839d44 f8839cc0 c025877b e640aac0
> ee000f5c ee000f5c 00000000 f8839cc0 f332e178 eb6a0e24 c025ab08 c025ab39
> eb6a0e24 c0370606 eb6a0e00 f332e178 c1af7f00 e5a872dc c025a722 f332e178
> Call Trace:
> [<c025877b>] class_device_del+0x138/0x163
> [<c025ab08>] transport_remove_classdev+0x0/0x68
This one is the signal for class devices being deleted *after* the
underlying device has been deleted, so the class device delete oopses
trying to remove the symlink from the real device to the class device.
Strange it should show up now, since that particular piece of code
hasn't been altered, just moved into a work queue.
See if the attached fixes it (if it does, I'm mystified as to why you
haven't always seen this).
James
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
--- a/drivers/scsi/scsi_scan.c
+++ b/drivers/scsi/scsi_scan.c
@@ -418,8 +418,9 @@ static void scsi_target_reap_work(void *
if (--starget->reap_ref == 0 && list_empty(&starget->devices)) {
list_del_init(&starget->siblings);
spin_unlock_irqrestore(shost->host_lock, flags);
+ transport_remove_device(&starget->dev);
device_del(&starget->dev);
- transport_unregister_device(&starget->dev);
+ transport_destroy_device(&starget->dev);
put_device(&starget->dev);
return;
next prev parent reply other threads:[~2005-12-23 20:31 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200512212359.jBLNxluV016971@hera.kernel.org>
2005-12-23 6:13 ` [SCSI] fix scsi_reap_target() device_del from atomic context Andrew Morton
2005-12-23 12:15 ` Matthew Wilcox
2005-12-23 15:27 ` James Bottomley
2005-12-23 15:38 ` Andrew Morton
2005-12-23 15:58 ` James Bottomley
2005-12-24 3:54 ` Andrew Morton
2005-12-23 20:05 ` Andrew Vasquez
2005-12-23 20:30 ` James Bottomley [this message]
2005-12-23 20:46 ` Andrew Vasquez
2005-12-23 20:43 ` Sergey Vlasov
2005-12-23 20:53 ` James Bottomley
2005-12-23 21:26 ` Sergey Vlasov
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=1135369849.3728.39.camel@mulgrave \
--to=james.bottomley@steeleye.com \
--cc=akpm@osdl.org \
--cc=andrew.vasquez@qlogic.com \
--cc=linux-scsi@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