Re: [PATCH] mmc: sdhci-pci: Allow for 3 bytes from Intel DSM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 19 April 2017 at 14:48, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote:
> The DSM used by some Intel controllers can return a 3 byte package. Allow
> for that by using memcpy to copy the bytes.
>
> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>

Thanks, applied for next!

Kind regards
Uffe

> ---
>  drivers/mmc/host/sdhci-pci-core.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-pci-core.c b/drivers/mmc/host/sdhci-pci-core.c
> index 57d6f50b73dc..eb3e34c7afe2 100644
> --- a/drivers/mmc/host/sdhci-pci-core.c
> +++ b/drivers/mmc/host/sdhci-pci-core.c
> @@ -12,6 +12,7 @@
>   *     - JMicron (hardware and technical support)
>   */
>
> +#include <linux/string.h>
>  #include <linux/delay.h>
>  #include <linux/highmem.h>
>  #include <linux/module.h>
> @@ -413,6 +414,7 @@ static int __intel_dsm(struct intel_host *intel_host, struct device *dev,
>  {
>         union acpi_object *obj;
>         int err = 0;
> +       size_t len;
>
>         obj = acpi_evaluate_dsm(ACPI_HANDLE(dev), intel_dsm_uuid, 0, fn, NULL);
>         if (!obj)
> @@ -423,12 +425,10 @@ static int __intel_dsm(struct intel_host *intel_host, struct device *dev,
>                 goto out;
>         }
>
> -       if (obj->buffer.length >= 4)
> -               *result = *(u32 *)obj->buffer.pointer;
> -       else if (obj->buffer.length >= 2)
> -               *result = *(u16 *)obj->buffer.pointer;
> -       else
> -               *result = *(u8 *)obj->buffer.pointer;
> +       len = min_t(size_t, obj->buffer.length, 4);
> +
> +       *result = 0;
> +       memcpy(result, obj->buffer.pointer, len);
>  out:
>         ACPI_FREE(obj);
>
> --
> 1.9.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux