Re: [lm-sensors] [PATCH] hwmon: (applesmc) Decode and act onread/write status codes

From: Guenter Roeck
Date: Fri Jul 27 2012 - 17:03:10 EST


Hi Henrik,

On Fri, Jul 27, 2012 at 08:12:46PM +0200, Henrik Rydberg wrote:
> The behavior of the SMC has changed several times over the years,
> causing read failures in the driver. It seems the problem can be
> explained by a shift in SMC speed combined with improper action on
> status codes.
>
> We should first wait for the SMC to settle, which was the most
> frequent response on the old slow machines. Then, if the SMC is busy,
> we need to try again later by resending the command. This was the most
> likely response until 2012. Now, with a shorter wait time, we are
> again most likely to poll while the SMC is settling, and as a result
> we see high failure rates on many old and new models.
>
> With the distinction between busy and failure, we can also wait longer
> before retrying, without sacrificing speed. This seems to bring
> failures down to virtually zero on all models.
>
> Tested on: MBA1,1 MBA3,1 MBA5,1 MBA5,2 MBP9,2
>
> Tested-by: Adam Somerville <adamsomerville@xxxxxxxxx>
> Tested-by: Hubert Eichner <hubert.georg.eichner@xxxxxxxxx>
> Signed-off-by: Henrik Rydberg <rydberg@xxxxxxxxxxx>

Applied.

> ---
> Hi Guenter,
>
> It turns out the mid-2012 Macbooks need additional changes in order to
> work reliably. Since the needed change is a great improvement also on
> other problematic machines, it would make a lot of sense if this patch
> could be squeezed into the merge window.
>
> As I mentioned in a previous mail, backporting e70acc100 by itself is
> not a good idea, but together with this patch it should be ok.
>
I think the patches should mature a bit in mainline. We can decide in a month
or so if we want to backport them to previous releases.

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/