Re: [PATCH 04/11] hwmon: applesmc: Introduce a register lookuptable (rev2)

From: Guenter Roeck
Date: Wed Nov 10 2010 - 10:43:34 EST


On Wed, Nov 10, 2010 at 05:57:24AM -0500, Henrik Rydberg wrote:
>
> >>
> >> mutex_destroy() is defined as a nop, so I guess the question is whether anything
> >> could be holding the lock when entering a second init. There are no sysfs files
> >> created at that point, so I would say no. The mutex could be put back with a
> >> static initializer, if this is not satisfactory. The real reason to move it to
> >> the smcreg struct was to force a rename of the mutex itself.
> >>
> >
> > Alternatively, you could move the mutex initialization to the beginning
> > of applesmc_init_smcreg() and make it
> > mutex_init(&smcreg.mutex);
>
>
> Looking at this again, it seems there are two other problems as well. Firstly,
> the cache memory is not freed after probe failure, my apologies. Secondly,
> execution continues after a probe failure, and the initialization is retried. I
> would like to push the latter problem to some other occasion, since the whole
> platform logic should be rewritten for the new interface, anyways.
>
I see the cache problem; this is indeed a tricky one, since it is actually not yet
a problem after this patch, but will be one after patch 5.

I don't understand the second problem, though. Looking into the code,
the probe function will return an error if applesmc_init_smcreg() fails.
Am I missing something ? What execution continues ?

Thanks,
Guenter
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/