Patch "thermal: intel: int340x: processor: Fix warning during module unload" has been added to the 6.1-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    thermal: intel: int340x: processor: Fix warning during module unload

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     thermal-intel-int340x-processor-fix-warning-during-m.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 587d3d0ac2da668e73dcf252370b2ca78a893b33
Author: Zhang Rui <rui.zhang@xxxxxxxxx>
Date:   Mon Sep 30 16:17:57 2024 +0800

    thermal: intel: int340x: processor: Fix warning during module unload
    
    [ Upstream commit 99ca0b57e49fb73624eede1c4396d9e3d10ccf14 ]
    
    The processor_thermal driver uses pcim_device_enable() to enable a PCI
    device, which means the device will be automatically disabled on driver
    detach.  Thus there is no need to call pci_disable_device() again on it.
    
    With recent PCI device resource management improvements, e.g. commit
    f748a07a0b64 ("PCI: Remove legacy pcim_release()"), this problem is
    exposed and triggers the warining below.
    
     [  224.010735] proc_thermal_pci 0000:00:04.0: disabling already-disabled device
     [  224.010747] WARNING: CPU: 8 PID: 4442 at drivers/pci/pci.c:2250 pci_disable_device+0xe5/0x100
     ...
     [  224.010844] Call Trace:
     [  224.010845]  <TASK>
     [  224.010847]  ? show_regs+0x6d/0x80
     [  224.010851]  ? __warn+0x8c/0x140
     [  224.010854]  ? pci_disable_device+0xe5/0x100
     [  224.010856]  ? report_bug+0x1c9/0x1e0
     [  224.010859]  ? handle_bug+0x46/0x80
     [  224.010862]  ? exc_invalid_op+0x1d/0x80
     [  224.010863]  ? asm_exc_invalid_op+0x1f/0x30
     [  224.010867]  ? pci_disable_device+0xe5/0x100
     [  224.010869]  ? pci_disable_device+0xe5/0x100
     [  224.010871]  ? kfree+0x21a/0x2b0
     [  224.010873]  pcim_disable_device+0x20/0x30
     [  224.010875]  devm_action_release+0x16/0x20
     [  224.010878]  release_nodes+0x47/0xc0
     [  224.010880]  devres_release_all+0x9f/0xe0
     [  224.010883]  device_unbind_cleanup+0x12/0x80
     [  224.010885]  device_release_driver_internal+0x1ca/0x210
     [  224.010887]  driver_detach+0x4e/0xa0
     [  224.010889]  bus_remove_driver+0x6f/0xf0
     [  224.010890]  driver_unregister+0x35/0x60
     [  224.010892]  pci_unregister_driver+0x44/0x90
     [  224.010894]  proc_thermal_pci_driver_exit+0x14/0x5f0 [processor_thermal_device_pci]
     ...
     [  224.010921] ---[ end trace 0000000000000000 ]---
    
    Remove the excess pci_disable_device() calls.
    
    Fixes: acd65d5d1cf4 ("thermal/drivers/int340x/processor_thermal: Add PCI MMIO based thermal driver")
    Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
    Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>
    Link: https://patch.msgid.link/20240930081801.28502-3-rui.zhang@xxxxxxxxx
    [ rjw: Subject and changelog edits ]
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c b/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
index a04e565fdcf19..6b76e267cb9f6 100644
--- a/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
+++ b/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
@@ -287,7 +287,6 @@ static int proc_thermal_pci_probe(struct pci_dev *pdev, const struct pci_device_
 	if (!pci_info->no_legacy)
 		proc_thermal_remove(proc_priv);
 	proc_thermal_mmio_remove(pdev, proc_priv);
-	pci_disable_device(pdev);
 
 	return ret;
 }
@@ -309,7 +308,6 @@ static void proc_thermal_pci_remove(struct pci_dev *pdev)
 	proc_thermal_mmio_remove(pdev, pci_info->proc_priv);
 	if (!pci_info->no_legacy)
 		proc_thermal_remove(proc_priv);
-	pci_disable_device(pdev);
 }
 
 #ifdef CONFIG_PM_SLEEP




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux