Re: i810_audio.c cli/sti fix

Linus Torvalds (torvalds@transmeta.com)
Wed, 24 Jul 2002 18:17:17 -0700 (PDT)


On Wed, 24 Jul 2002, Greg KH wrote:
>
> Here's a small patch to get the i810_audio.c driver working again.

Hmm..

> @@ -2814,15 +2814,15 @@
> }
> dmabuf->count = dmabuf->dmasize;
> outb(31,card->iobase+dmabuf->write_channel->port+OFF_LVI);
> - save_flags(flags);
> - cli();
> + local_irq_save(flags);
> + local_irq_disable();

First off, "local_irq_save()" does both the save and the disable (the same
way "spin_lock_irqsave()" does), it's the "local_save_flags(") that is
equivalent to the old plain save_flags. So this should just be

local_irq_save(flags);

However, I also wonder if the code doesn't want any SMP locking? Is it ok
to just make it a non-spinlock local interrupt disable, and if so, why?

Linus

-
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/