Skip to content

Commit 36e5762

Browse files
committed
Merge tag 'v6.12.65' into 6.12-main
This is the 6.12.65 stable release # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCgAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmljstUACgkQONu9yGCS # aT6jYA//fMBNMChSK7l3QG0euBrSakqBA9z2/dr9UOTZVzhoOiUABZ1ymjLtnXXg # yYUoVSF8ARs0dxPCPw7Vay1w7lsryEjHZXZzu1GVKYvYKSizqPeMDZMIJiyD/l+l # RHetI8K+lc6D/iAfupBlfeHqXAGsP5CQdWv0UhESzZBNlpKsbFiZoEOWblRvOSij # IvCQNxx854BWSZDeZHzxi9IkEdQl9oHcPWLS59HDbv9bIXgSQyt3KOTYBO5zW4eT # gPCgEi9iw0rhk5vRxA1UQnbUAvsWll9bFa3sBL4sN7qLC74Mn7FD9SyBY9GSUQWk # ARAU8l9qME5vPcLSmAEiwratgefgcw1B0/9t4vLiEJaBeA1A+KyHi8tWN6M2oGnP # M8Yew6YbvLt8ieQo5PsUWKn4qQpy+e/PkI/iBpTFdDIuNwP/Xq/tRRaPizRj+QQb # 9yrj2Y3PHywRmq/dQl73eH8qvwddxGP7AMzux3R+B3DvI7/bQi+Aj6j7Ok9Zdwp5 # 1Ec+aCs4gu3RlQ7DUfRUBGmgZkqs2Xoe4CndaZ37WRCp08znsgRrecGMi6yEV1sm # LCjHNFibsWuIr6EYBWKjBNqMvzHCpOpk8iRc6xWy7VSHnyusv1euJrls+PNbhTsL # a8OwLdjNcgtzO1zZVKJS5s/0Q49HhijHWOtP5TPlHpeQhHJItj8= # =tnMJ # -----END PGP SIGNATURE----- # gpg: Signature made Sun Jan 11 15:25:25 2026 CET # gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E # gpg: Can't check signature: No public key
2 parents e14d267 + 39cb076 commit 36e5762

25 files changed

Lines changed: 185 additions & 112 deletions

File tree

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 6
33
PATCHLEVEL = 12
4-
SUBLEVEL = 64
4+
SUBLEVEL = 65
55
EXTRAVERSION =
66
NAME = Baby Opossum Posse
77

drivers/char/virtio_console.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1579,8 +1579,8 @@ static void handle_control_message(struct virtio_device *vdev,
15791579
break;
15801580
case VIRTIO_CONSOLE_RESIZE: {
15811581
struct {
1582-
__virtio16 rows;
15831582
__virtio16 cols;
1583+
__virtio16 rows;
15841584
} size;
15851585

15861586
if (!is_console_port(port))

drivers/cpufreq/intel_pstate.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -600,9 +600,6 @@ static bool turbo_is_disabled(void)
600600
{
601601
u64 misc_en;
602602

603-
if (!cpu_feature_enabled(X86_FEATURE_IDA))
604-
return true;
605-
606603
rdmsrl(MSR_IA32_MISC_ENABLE, misc_en);
607604

608605
return !!(misc_en & MSR_IA32_MISC_ENABLE_TURBO_DISABLE);
@@ -2018,7 +2015,8 @@ static u64 atom_get_val(struct cpudata *cpudata, int pstate)
20182015
u32 vid;
20192016

20202017
val = (u64)pstate << 8;
2021-
if (READ_ONCE(global.no_turbo) && !READ_ONCE(global.turbo_disabled))
2018+
if (READ_ONCE(global.no_turbo) && !READ_ONCE(global.turbo_disabled) &&
2019+
cpu_feature_enabled(X86_FEATURE_IDA))
20222020
val |= (u64)1 << 32;
20232021

20242022
vid_fp = cpudata->vid.min + mul_fp(
@@ -2183,7 +2181,8 @@ static u64 core_get_val(struct cpudata *cpudata, int pstate)
21832181
u64 val;
21842182

21852183
val = (u64)pstate << 8;
2186-
if (READ_ONCE(global.no_turbo) && !READ_ONCE(global.turbo_disabled))
2184+
if (READ_ONCE(global.no_turbo) && !READ_ONCE(global.turbo_disabled) &&
2185+
cpu_feature_enabled(X86_FEATURE_IDA))
21872186
val |= (u64)1 << 32;
21882187

21892188
return val;

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2747,10 +2747,12 @@ int amdgpu_vm_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
27472747
case AMDGPU_VM_OP_RESERVE_VMID:
27482748
/* We only have requirement to reserve vmid from gfxhub */
27492749
if (!fpriv->vm.reserved_vmid[AMDGPU_GFXHUB(0)]) {
2750-
amdgpu_vmid_alloc_reserved(adev, AMDGPU_GFXHUB(0));
2750+
int r = amdgpu_vmid_alloc_reserved(adev, AMDGPU_GFXHUB(0));
2751+
2752+
if (r)
2753+
return r;
27512754
fpriv->vm.reserved_vmid[AMDGPU_GFXHUB(0)] = true;
27522755
}
2753-
27542756
break;
27552757
case AMDGPU_VM_OP_UNRESERVE_VMID:
27562758
if (fpriv->vm.reserved_vmid[AMDGPU_GFXHUB(0)]) {

drivers/iommu/amd/init.c

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -816,16 +816,11 @@ static void iommu_enable_command_buffer(struct amd_iommu *iommu)
816816

817817
BUG_ON(iommu->cmd_buf == NULL);
818818

819-
if (!is_kdump_kernel()) {
820-
/*
821-
* Command buffer is re-used for kdump kernel and setting
822-
* of MMIO register is not required.
823-
*/
824-
entry = iommu_virt_to_phys(iommu->cmd_buf);
825-
entry |= MMIO_CMD_SIZE_512;
826-
memcpy_toio(iommu->mmio_base + MMIO_CMD_BUF_OFFSET,
827-
&entry, sizeof(entry));
828-
}
819+
entry = iommu_virt_to_phys(iommu->cmd_buf);
820+
entry |= MMIO_CMD_SIZE_512;
821+
822+
memcpy_toio(iommu->mmio_base + MMIO_CMD_BUF_OFFSET,
823+
&entry, sizeof(entry));
829824

830825
amd_iommu_reset_cmd_buffer(iommu);
831826
}
@@ -874,15 +869,10 @@ static void iommu_enable_event_buffer(struct amd_iommu *iommu)
874869

875870
BUG_ON(iommu->evt_buf == NULL);
876871

877-
if (!is_kdump_kernel()) {
878-
/*
879-
* Event buffer is re-used for kdump kernel and setting
880-
* of MMIO register is not required.
881-
*/
882-
entry = iommu_virt_to_phys(iommu->evt_buf) | EVT_LEN_MASK;
883-
memcpy_toio(iommu->mmio_base + MMIO_EVT_BUF_OFFSET,
884-
&entry, sizeof(entry));
885-
}
872+
entry = iommu_virt_to_phys(iommu->evt_buf) | EVT_LEN_MASK;
873+
874+
memcpy_toio(iommu->mmio_base + MMIO_EVT_BUF_OFFSET,
875+
&entry, sizeof(entry));
886876

887877
/* set head and tail to zero manually */
888878
writel(0x00, iommu->mmio_base + MMIO_EVT_HEAD_OFFSET);

drivers/net/phy/mediatek-ge-soc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1082,9 +1082,9 @@ static int mt798x_phy_calibration(struct phy_device *phydev)
10821082
}
10831083

10841084
buf = (u32 *)nvmem_cell_read(cell, &len);
1085+
nvmem_cell_put(cell);
10851086
if (IS_ERR(buf))
10861087
return PTR_ERR(buf);
1087-
nvmem_cell_put(cell);
10881088

10891089
if (!buf[0] || !buf[1] || !buf[2] || !buf[3] || len < 4 * sizeof(u32)) {
10901090
phydev_err(phydev, "invalid efuse data\n");

drivers/pwm/pwm-stm32.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -458,8 +458,7 @@ static int stm32_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
458458
return 0;
459459
}
460460

461-
if (state->polarity != pwm->state.polarity)
462-
stm32_pwm_set_polarity(priv, pwm->hwpwm, state->polarity);
461+
stm32_pwm_set_polarity(priv, pwm->hwpwm, state->polarity);
463462

464463
ret = stm32_pwm_config(priv, pwm->hwpwm,
465464
state->duty_cycle, state->period);

include/linux/if_bridge.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,9 @@ struct br_ip_list {
6565
#define BR_DEFAULT_AGEING_TIME (300 * HZ)
6666

6767
struct net_bridge;
68-
void brioctl_set(int (*hook)(struct net *net, struct net_bridge *br,
69-
unsigned int cmd, struct ifreq *ifr,
68+
void brioctl_set(int (*hook)(struct net *net, unsigned int cmd,
7069
void __user *uarg));
71-
int br_ioctl_call(struct net *net, struct net_bridge *br, unsigned int cmd,
72-
struct ifreq *ifr, void __user *uarg);
70+
int br_ioctl_call(struct net *net, unsigned int cmd, void __user *uarg);
7371

7472
#if IS_ENABLED(CONFIG_BRIDGE) && IS_ENABLED(CONFIG_BRIDGE_IGMP_SNOOPING)
7573
int br_multicast_list_adjacent(struct net_device *dev,

include/linux/mm.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2238,13 +2238,13 @@ static inline int folio_expected_ref_count(const struct folio *folio)
22382238
const int order = folio_order(folio);
22392239
int ref_count = 0;
22402240

2241-
if (WARN_ON_ONCE(folio_test_slab(folio)))
2241+
if (WARN_ON_ONCE(page_has_type(&folio->page) && !folio_test_hugetlb(folio)))
22422242
return 0;
22432243

2244-
if (folio_test_anon(folio)) {
2245-
/* One reference per page from the swapcache. */
2246-
ref_count += folio_test_swapcache(folio) << order;
2247-
} else if (!((unsigned long)folio->mapping & PAGE_MAPPING_FLAGS)) {
2244+
/* One reference per page from the swapcache. */
2245+
ref_count += folio_test_swapcache(folio) << order;
2246+
2247+
if (!folio_test_anon(folio)) {
22482248
/* One reference per page from the pagecache. */
22492249
ref_count += !!folio->mapping << order;
22502250
/* One reference from PG_private. */

include/linux/sched/topology.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,9 @@ struct sched_domain {
106106
unsigned int nr_balance_failed; /* initialise to 0 */
107107

108108
/* idle_balance() stats */
109+
unsigned int newidle_call;
110+
unsigned int newidle_success;
111+
unsigned int newidle_ratio;
109112
u64 max_newidle_lb_cost;
110113
unsigned long last_decay_max_lb_cost;
111114

0 commit comments

Comments
 (0)