Christoph Hellwig wrote:

>@@ -1600,8 +1593,6 @@
>       SCSI_LOG_ERROR_RECOVERY(3, printk("Wake up parent of"
>                                         " scsi_eh_%d\n",shost->host_no));
>
>-      complete(shost->eh_notify);
>-
>       while (1) {
>               /*
>                * If we get a signal, it means we are supposed to go
>@@ -1622,7 +1613,7 @@
>                * semaphores isn't unreasonable.
>                */
>               down_interruptible(&sem);
>-              if (shost->eh_kill)
>+              if (kthread_should_stop())
>                       break;
>
>               SCSI_LOG_ERROR_RECOVERY(1, printk("Error handler"

We used nearly the same code in cpqfcTS yesterday for testing. On module 
unload down_interruptible() does not get interrupted and the kthread_stop() 
will wait forever and hang rmmod.

Eike

Attachment: pgpdR8VXo8DFb.pgp
Description: PGP signature

Reply via email to