[PATCH] staging: goldfish: switch from spinlock to mutex
Dan Carpenter
dan.carpenter at oracle.com
Fri Apr 4 11:04:04 UTC 2014
On Fri, Apr 04, 2014 at 12:26:27PM +0300, Kristina Martšenko wrote:
> On 03/04/14 13:13, Dan Carpenter wrote:
> > On Thu, Apr 03, 2014 at 01:00:53PM +0300, Kristina Martšenko wrote:
> >> On 03/04/14 11:32, Dan Carpenter wrote:
> >>> On Tue, Mar 25, 2014 at 01:45:09AM +0200, Kristina Martšenko wrote:
> >>>> Use a mutex instead of a spinlock in goldfish_nand.c, as suggested by
> >>>> the TODO list.
> >>>>
> >>>> Signed-off-by: Kristina Martšenko <kristina.martsenko at gmail.com>
> >>>
> >>> Have you tested this change?
> >>
> >> Nope, just compile-tested. After a day of trying to get the emulator to
> >> work I finally gave up and decided that it looked okay enough... I
> >> should have mentioned under the patch description that it wasn't tested,
> >> sorry.
> >
> > It's not a wrong thing to submit patches that you can't test, but in
> > this case the irq save/restores make me nervous. I can't see that they
> > served any purpose and it's certainly not unheard of for staging code to
> > do pointless things for unexplainable reasons. But on the other hand, I
> > would feel a lot more comfortable if this change were tested or if there
> > were more comments about how the change is safe.
>
> I'm not sure I understand. A mutex doesn't disable interrupts, so the
> cpu irq flags should be the same after the mutex-protected code as they
> were before. I.e. it would have the same effect as the save/restore. Or
> am I missing something?
A mutex doesn't disable IRQs but the original code used
spin_lock_irqsave() so the original code did disable IRQs.
Looking at it now, I'm not sure there was a reason to disable IRQs...
This driver doesn't have an IRQ handler. Your change is probably fine.
regards,
dan carpenter
More information about the devel
mailing list