Ignore:
Timestamp:
Apr 14, 2017, 9:41:36 PM (3 months ago)
Author:
brainslayer
Message:

kernel update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/linux/universal/linux-4.9/drivers/firmware/qcom_scm-64.c

    r31574 r31859  
    9292        void *args_virt = NULL;
    9393        size_t alloc_len;
     94        struct arm_smccc_quirk quirk = {.id = ARM_SMCCC_QUIRK_QCOM_A6};
    9495
    9596        if (unlikely(arglen > N_REGISTER_ARGS)) {
     
    132133                                         ARM_SMCCC_OWNER_SIP, fn_id);
    133134
     135                quirk.state.a6 = 0;
     136
    134137                do {
    135                         arm_smccc_smc(cmd, desc->arginfo, desc->args[0],
    136                                       desc->args[1], desc->args[2], x5, 0, 0,
    137                                       res);
     138                        arm_smccc_smc_quirk(cmd, desc->arginfo, desc->args[0],
     139                                      desc->args[1], desc->args[2], x5,
     140                                      quirk.state.a6, 0, res, &quirk);
     141
     142                        if (res->a0 == QCOM_SCM_INTERRUPTED)
     143                                cmd = res->a0;
     144
    138145                } while (res->a0 == QCOM_SCM_INTERRUPTED);
    139146
Note: See TracChangeset for help on using the changeset viewer.