• Martin Wilck's avatar
    scsi: hpsa: destroy sas transport properties before scsi_host · dfb2e6f4
    Martin Wilck authored
    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.
    Tested-by: default avatarDon Brace <don.brace@microsemi.com>
    Reviewed-by: default avatarDon Brace <don.brace@microsemi.com>
    Signed-off-by: default avatarMartin Wilck <mwilck@suse.de>
    Signed-off-by: default avatarDon Brace <don.brace@microsemi.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    dfb2e6f4
hpsa.c 265 KB