Patch "scsi: hpsa: destroy sas transport properties before scsi_host" has been added to the 4.14-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
scsi: hpsa: destroy sas transport properties before scsi_host
to the 4.14-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:
scsi-hpsa-destroy-sas-transport-properties-before-scsi_host.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Mon Dec 18 13:28:59 CET 2017
From: Martin Wilck <[email protected]>
Date: Fri, 20 Oct 2017 16:51:08 -0500
Subject: scsi: hpsa: destroy sas transport properties before scsi_host
From: Martin Wilck <[email protected]>
[ Upstream commit dfb2e6f46b3074eb85203d8f0888b71ec1c2e37a ]
This patch cleans up a lot of warnings when unloading the driver.
A current example of the stack trace starts with:
[ 142.570715] sysfs group 'power' not found for kobject 'port-5:0'
There can be hundreds of these messages during a driver unload.
I am resubmitting this patch on behalf of Martin Wilck with his permission.
His original patch can be found here:
https://www.spinics.net/lists/linux-scsi/msg102085.html
This patch did not help until Hannes's
commit 9441284fbc39 ("scsi-fixup-kernel-warning-during-rmmod") was applied to the kernel.
---------------------------
Original patch description:
---------------------------
Unloading the hpsa driver causes warnings
[ 1063.793652] WARNING: CPU: 1 PID: 4850 at ../fs/sysfs/group.c:237 device_del+0x54/0x240() [ 1063.793659] sysfs group ffffffff81cf21a0 not found for kobject 'port-2:0'
with two different stacks:
1)
[ 1063.793774] [<ffffffff81448af4>] device_del+0x54/0x240 [ 1063.793780] [<ffffffff8145178a>] transport_remove_classdev+0x4a/0x60 [ 1063.793784] [<ffffffff81451216>] attribute_container_device_trigger+0xa6/0xb0 [ 1063.793802] [<ffffffffa0105d46>] sas_port_delete+0x126/0x160 [scsi_transport_sas] [ 1063.793819] [<ffffffffa036ebcc>] hpsa_free_sas_port+0x3c/0x70 [hpsa]
2)
[ 1063.797103] [<ffffffff81448af4>] device_del+0x54/0x240 [ 1063.797118] [<ffffffffa0105d4e>] sas_port_delete+0x12e/0x160 [scsi_transport_sas] [ 1063.797134] [<ffffffffa036ebcc>] hpsa_free_sas_port+0x3c/0x70 [hpsa]
This is caused by the fact that host device hostX is deleted before the SAS transport devices hostX/port-a:b.
This patch fixes this by reverting the order of device deletions.
--- drivers/scsi/hpsa.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/scsi/hpsa.c +2 -2
@@ -8684,6 +8684,8 @@ static void hpsa_remove_one(struct pci_ddestroy_workqueue (h->rescan_ctlr_wq);destroy_workqueue (h->resubmit_wq); +hpsa_delete_sas_host (h); +/* * Call before disabling interrupts. * scsi_remove_host can trigger I/O operations especially
@@ -8718,8 +8720,6 @@ static void hpsa_remove_one(struct pci_d h->lockup_detected =NULL ;/* init_one 2 */ /* (void) pci_disable_pcie_error_reporting(pdev); */ /* init_one 1 */ -hpsa_delete_sas_host (h); -kfree (h);/* init_one 1 */ }
Patches currently in stable-queue which might be from [email protected] are
queue-4.14/scsi-hpsa-cleanup-sas_phy-structures-in-sysfs-when-unloading.patch queue-4.14/scsi-hpsa-destroy-sas-transport-properties-before-scsi_host.patch