Merge 0d508cefcd ("vdpa/mlx5: Fix mlx5_vdpa_get_config() endianness on big-endian machines") into android16-6.12-lts
Steps on the way to 6.12.31 Resolves merge conflicts in: drivers/media/usb/uvc/uvc_ctrl.c Change-Id: I663a7a27e554e5a9d426532ff17f7dffc9619d22 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
+40
-29
@@ -11965,40 +11965,51 @@ static int perf_try_init_event(struct pmu *pmu, struct perf_event *event)
|
||||
if (ctx)
|
||||
perf_event_ctx_unlock(event->group_leader, ctx);
|
||||
|
||||
if (!ret) {
|
||||
if (!(pmu->capabilities & PERF_PMU_CAP_EXTENDED_REGS) &&
|
||||
has_extended_regs(event))
|
||||
ret = -EOPNOTSUPP;
|
||||
if (ret)
|
||||
goto err_pmu;
|
||||
|
||||
if (pmu->capabilities & PERF_PMU_CAP_NO_EXCLUDE &&
|
||||
event_has_any_exclude_flag(event))
|
||||
ret = -EINVAL;
|
||||
|
||||
if (pmu->scope != PERF_PMU_SCOPE_NONE && event->cpu >= 0) {
|
||||
const struct cpumask *cpumask = perf_scope_cpu_topology_cpumask(pmu->scope, event->cpu);
|
||||
struct cpumask *pmu_cpumask = perf_scope_cpumask(pmu->scope);
|
||||
int cpu;
|
||||
|
||||
if (pmu_cpumask && cpumask) {
|
||||
cpu = cpumask_any_and(pmu_cpumask, cpumask);
|
||||
if (cpu >= nr_cpu_ids)
|
||||
ret = -ENODEV;
|
||||
else
|
||||
event->event_caps |= PERF_EV_CAP_READ_SCOPE;
|
||||
} else {
|
||||
ret = -ENODEV;
|
||||
}
|
||||
}
|
||||
|
||||
if (ret && event->destroy)
|
||||
event->destroy(event);
|
||||
if (!(pmu->capabilities & PERF_PMU_CAP_EXTENDED_REGS) &&
|
||||
has_extended_regs(event)) {
|
||||
ret = -EOPNOTSUPP;
|
||||
goto err_destroy;
|
||||
}
|
||||
|
||||
if (ret) {
|
||||
event->pmu = NULL;
|
||||
module_put(pmu->module);
|
||||
if (pmu->capabilities & PERF_PMU_CAP_NO_EXCLUDE &&
|
||||
event_has_any_exclude_flag(event)) {
|
||||
ret = -EINVAL;
|
||||
goto err_destroy;
|
||||
}
|
||||
|
||||
if (pmu->scope != PERF_PMU_SCOPE_NONE && event->cpu >= 0) {
|
||||
const struct cpumask *cpumask;
|
||||
struct cpumask *pmu_cpumask;
|
||||
int cpu;
|
||||
|
||||
cpumask = perf_scope_cpu_topology_cpumask(pmu->scope, event->cpu);
|
||||
pmu_cpumask = perf_scope_cpumask(pmu->scope);
|
||||
|
||||
ret = -ENODEV;
|
||||
if (!pmu_cpumask || !cpumask)
|
||||
goto err_destroy;
|
||||
|
||||
cpu = cpumask_any_and(pmu_cpumask, cpumask);
|
||||
if (cpu >= nr_cpu_ids)
|
||||
goto err_destroy;
|
||||
|
||||
event->event_caps |= PERF_EV_CAP_READ_SCOPE;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
err_destroy:
|
||||
if (event->destroy) {
|
||||
event->destroy(event);
|
||||
event->destroy = NULL;
|
||||
}
|
||||
|
||||
err_pmu:
|
||||
event->pmu = NULL;
|
||||
module_put(pmu->module);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user