Re: [PATCH]  sym53c8xx timer rework
(no name) ((no email))
Tue, 10 Jul 2001 09:48:27 +0000
>  /*
> -**     Stop the ncr_timeout process
> -**     Set release_stage to 1 and wait that ncr_timeout() set it to 2.
> +**     Stop the ncr_timeout process - lock it to ensure no timer is running
> +**     on a different CPU, or anything
>  */
> -       np->release_stage = 1;
> -       for (i = 50 ; i && np->release_stage != 2 ; i--) MDELAY (100);
> -       if (np->release_stage != 2)
> -               printk("%s: the timer seems to be already stopped\n",
> -                       ncr_name(np));
> -       else np->release_stage = 2;
> +       NCR_LOCK_NCB(np, flags);
> +       del_timer(&np->timer);
> +       NCR_UNLOCK_NCB(np, flags);
I'm only reading the diff, but this change looks wrong.
The simplest solution is del_timer_sync() instead of
LOCK;del_timer;UNLOCK.
Why do you acqurie the NCB spinlock? the _timeout function runs without
it.
--	
	Manfred
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/