[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080625221529.GA1600@elf.ucw.cz>
Date: Thu, 26 Jun 2008 00:15:29 +0200
From: Pavel Machek <pavel@...e.cz>
To: kernel list <linux-kernel@...r.kernel.org>,
"Rafael J. Wysocki" <rjw@...k.pl>,
linux-pcmcia@...ts.infradead.org, bzolnier@...il.com,
linux-ide@...r.kernel.org, Greg KH <greg@...ah.com>
Subject: Re: [regression] Re: 2.6.26-rc6: pcmcia stopped working
Hi!
> > Hmm, hitting sysrq-w produces no blocked task until I eject pcmcia
> > card. Backtrace there is:
> >
> > Greg, I believe some traces lead to sysfs, can you help here?
>
> ide_unregister() does not complete :-(.
>
> device_unregister(&hwif->gendev);
> + printk("ide_unregister: waiting for rel_comp\n");
> wait_for_completion(&hwif->gendev_rel_comp);
>
> ...that wait_for_completion never returns.
...and this fixes PCMCIA/IDE for me... (Pseudopatch)
Pavel
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -336,29 +341,38 @@ void ide_unregister(ide_hwif_t *hwif)
++irq_count;
g = g->next;
} while (g != hwgroup->hwif);
if (irq_count == 1)
free_irq(hwif->irq, hwgroup);
ide_remove_port_from_hwgroup(hwif);
device_unregister(hwif->portdev);
device_unregister(&hwif->gendev);
- wait_for_completion(&hwif->gendev_rel_comp);
+// wait_for_completion(&hwif->gendev_rel_comp);
+ msleep(1000);
/*
* Remove us from the kernel's knowledge
*/
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists