On Tue, 16 Jun 2009 14:07:43 -0500 "Mike Miller (OS Dev)" <mikem@xxxxxxxxxxxxxxxxxxxxxxx> wrote: > > > diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c > > > index 4d4d5e0..e51a0b2 100644 > > > --- a/drivers/block/cciss.c > > > +++ b/drivers/block/cciss.c > > > @@ -3935,6 +3935,7 @@ static void __devexit cciss_remove_one(struct pci_dev *pdev) > > > return; > > > } > > > > > > + complete(hba[i]->rescan_wait); > > > kthread_stop(hba[i]->cciss_scan_thread); > > > > > > remove_proc_entry(hba[i]->devname, proc_cciss); > > > > Has this been confirmed to fix things? > > Apparently, not. I'm still having issues. I'm sure this worked before my > patch was finally accepted. That's why I made the thread interruptible. Now > I see an article on LWN saying that kthread_stop doesn't use signals. It > says call kthread_should_stop periodically, which I do. How else to stop a > thread??? Presumably your thread is blocked elsewhere, so it is failing to poll kthread_should_stop(). When the thread is stuck, do an `echo t > /proc/sysrq-trigger' and find the thread's stack trace and work out where it's blocked. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html