From: Raghava Aditya Renukunta Date: Wed, 27 Dec 2017 04:34:25 +0000 (-0800) Subject: scsi: aacraid: Do not remove offlined devices X-Git-Tag: for-linus-20180210~48^2~158 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=95900629fa7dd0af7be5e9a8fdbc9d902fa3c8c7;p=linux-2.6-block.git scsi: aacraid: Do not remove offlined devices As part of the recovery process, the drivers removes offline devices ( done by the kernel) and then tries to add them back in the rescan code. Removing the device is like taking a sledgehammer to a nail. Set the device as running if it is marked offline. Signed-off-by: Raghava Aditya Renukunta Signed-off-by: Martin K. Petersen --- diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c index ffbfd042be08..32b8bdb97c18 100644 --- a/drivers/scsi/aacraid/commsup.c +++ b/drivers/scsi/aacraid/commsup.c @@ -1658,14 +1658,12 @@ static int _aac_reset_adapter(struct aac_dev *aac, int forced, u8 reset_type) command->scsi_done(command); } /* - * Any Device that was already marked offline needs to be cleaned up + * Any Device that was already marked offline needs to be marked + * running */ __shost_for_each_device(dev, host) { - if (!scsi_device_online(dev)) { - sdev_printk(KERN_INFO, dev, "Removing offline device\n"); - scsi_remove_device(dev); - scsi_device_put(dev); - } + if (!scsi_device_online(dev)) + scsi_device_set_state(dev, SDEV_RUNNING); } retval = 0;