You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
5.7 KiB
162 lines
5.7 KiB
4 years ago
|
From d67ff22c2c9316c6d78a54919b234f70494c9e37 Mon Sep 17 00:00:00 2001
|
||
|
From: Tomas Henzl <thenzl@redhat.com>
|
||
|
Date: Fri, 13 Nov 2020 18:42:47 -0500
|
||
|
Subject: [PATCH 22/33] [scsi] scsi: mpt3sas: Rearrange
|
||
|
_scsih_mark_responding_sas_device()
|
||
|
|
||
|
Message-id: <20201113184258.11169-4-thenzl@redhat.com>
|
||
|
Patchwork-id: 339461
|
||
|
Patchwork-instance: patchwork
|
||
|
O-Subject: [RHEL8.4 e-stor PATCH 03/14] scsi: mpt3sas: Rearrange _scsih_mark_responding_sas_device()
|
||
|
Bugzilla: 1888543
|
||
|
RH-Acked-by: Ewan Milne <emilne@redhat.com>
|
||
|
RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
|
||
|
|
||
|
Rearrange _scsih_mark_responding_sas_device function. No functional change.
|
||
|
|
||
|
Link: https://lore.kernel.org/r/20201027130847.9962-4-sreekanth.reddy@broadcom.com
|
||
|
Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
|
||
|
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
||
|
(cherry picked from commit 78ca700342a5df21d80515a36ba17c4962efb35b)
|
||
|
Signed-off-by: Tomas Henzl <thenzl@redhat.com>
|
||
|
Signed-off-by: Jan Stancek <jstancek@redhat.com>
|
||
|
---
|
||
|
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 116 +++++++++++++++++------------------
|
||
|
1 file changed, 58 insertions(+), 58 deletions(-)
|
||
|
|
||
|
diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
|
||
|
index 0fbc7b65ebb0..537ebd142cc3 100644
|
||
|
--- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
|
||
|
+++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
|
||
|
@@ -8742,69 +8742,69 @@ Mpi2SasDevicePage0_t *sas_device_pg0)
|
||
|
}
|
||
|
spin_lock_irqsave(&ioc->sas_device_lock, flags);
|
||
|
list_for_each_entry(sas_device, &ioc->sas_device_list, list) {
|
||
|
- if ((sas_device->sas_address == le64_to_cpu(
|
||
|
- sas_device_pg0->SASAddress)) && (sas_device->slot ==
|
||
|
- le16_to_cpu(sas_device_pg0->Slot))) {
|
||
|
- sas_device->responding = 1;
|
||
|
- starget = sas_device->starget;
|
||
|
- if (starget && starget->hostdata) {
|
||
|
- sas_target_priv_data = starget->hostdata;
|
||
|
- sas_target_priv_data->tm_busy = 0;
|
||
|
- sas_target_priv_data->deleted = 0;
|
||
|
- } else
|
||
|
- sas_target_priv_data = NULL;
|
||
|
- if (starget) {
|
||
|
- starget_printk(KERN_INFO, starget,
|
||
|
- "handle(0x%04x), sas_addr(0x%016llx)\n",
|
||
|
- le16_to_cpu(sas_device_pg0->DevHandle),
|
||
|
- (unsigned long long)
|
||
|
- sas_device->sas_address);
|
||
|
+ if (sas_device->sas_address != le64_to_cpu(
|
||
|
+ sas_device_pg0->SASAddress))
|
||
|
+ continue;
|
||
|
+ if (sas_device->slot != le16_to_cpu(sas_device_pg0->Slot))
|
||
|
+ continue;
|
||
|
+ sas_device->responding = 1;
|
||
|
+ starget = sas_device->starget;
|
||
|
+ if (starget && starget->hostdata) {
|
||
|
+ sas_target_priv_data = starget->hostdata;
|
||
|
+ sas_target_priv_data->tm_busy = 0;
|
||
|
+ sas_target_priv_data->deleted = 0;
|
||
|
+ } else
|
||
|
+ sas_target_priv_data = NULL;
|
||
|
+ if (starget) {
|
||
|
+ starget_printk(KERN_INFO, starget,
|
||
|
+ "handle(0x%04x), sas_addr(0x%016llx)\n",
|
||
|
+ le16_to_cpu(sas_device_pg0->DevHandle),
|
||
|
+ (unsigned long long)
|
||
|
+ sas_device->sas_address);
|
||
|
|
||
|
- if (sas_device->enclosure_handle != 0)
|
||
|
- starget_printk(KERN_INFO, starget,
|
||
|
- "enclosure logical id(0x%016llx),"
|
||
|
- " slot(%d)\n",
|
||
|
- (unsigned long long)
|
||
|
- sas_device->enclosure_logical_id,
|
||
|
- sas_device->slot);
|
||
|
- }
|
||
|
- if (le16_to_cpu(sas_device_pg0->Flags) &
|
||
|
- MPI2_SAS_DEVICE0_FLAGS_ENCL_LEVEL_VALID) {
|
||
|
- sas_device->enclosure_level =
|
||
|
- sas_device_pg0->EnclosureLevel;
|
||
|
- memcpy(&sas_device->connector_name[0],
|
||
|
- &sas_device_pg0->ConnectorName[0], 4);
|
||
|
- } else {
|
||
|
- sas_device->enclosure_level = 0;
|
||
|
- sas_device->connector_name[0] = '\0';
|
||
|
- }
|
||
|
+ if (sas_device->enclosure_handle != 0)
|
||
|
+ starget_printk(KERN_INFO, starget,
|
||
|
+ "enclosure logical id(0x%016llx), slot(%d)\n",
|
||
|
+ (unsigned long long)
|
||
|
+ sas_device->enclosure_logical_id,
|
||
|
+ sas_device->slot);
|
||
|
+ }
|
||
|
+ if (le16_to_cpu(sas_device_pg0->Flags) &
|
||
|
+ MPI2_SAS_DEVICE0_FLAGS_ENCL_LEVEL_VALID) {
|
||
|
+ sas_device->enclosure_level =
|
||
|
+ sas_device_pg0->EnclosureLevel;
|
||
|
+ memcpy(&sas_device->connector_name[0],
|
||
|
+ &sas_device_pg0->ConnectorName[0], 4);
|
||
|
+ } else {
|
||
|
+ sas_device->enclosure_level = 0;
|
||
|
+ sas_device->connector_name[0] = '\0';
|
||
|
+ }
|
||
|
|
||
|
- sas_device->enclosure_handle =
|
||
|
- le16_to_cpu(sas_device_pg0->EnclosureHandle);
|
||
|
- sas_device->is_chassis_slot_valid = 0;
|
||
|
- if (enclosure_dev) {
|
||
|
- sas_device->enclosure_logical_id = le64_to_cpu(
|
||
|
- enclosure_dev->pg0.EnclosureLogicalID);
|
||
|
- if (le16_to_cpu(enclosure_dev->pg0.Flags) &
|
||
|
- MPI2_SAS_ENCLS0_FLAGS_CHASSIS_SLOT_VALID) {
|
||
|
- sas_device->is_chassis_slot_valid = 1;
|
||
|
- sas_device->chassis_slot =
|
||
|
- enclosure_dev->pg0.ChassisSlot;
|
||
|
- }
|
||
|
+ sas_device->enclosure_handle =
|
||
|
+ le16_to_cpu(sas_device_pg0->EnclosureHandle);
|
||
|
+ sas_device->is_chassis_slot_valid = 0;
|
||
|
+ if (enclosure_dev) {
|
||
|
+ sas_device->enclosure_logical_id = le64_to_cpu(
|
||
|
+ enclosure_dev->pg0.EnclosureLogicalID);
|
||
|
+ if (le16_to_cpu(enclosure_dev->pg0.Flags) &
|
||
|
+ MPI2_SAS_ENCLS0_FLAGS_CHASSIS_SLOT_VALID) {
|
||
|
+ sas_device->is_chassis_slot_valid = 1;
|
||
|
+ sas_device->chassis_slot =
|
||
|
+ enclosure_dev->pg0.ChassisSlot;
|
||
|
}
|
||
|
+ }
|
||
|
|
||
|
- if (sas_device->handle == le16_to_cpu(
|
||
|
- sas_device_pg0->DevHandle))
|
||
|
- goto out;
|
||
|
- pr_info("\thandle changed from(0x%04x)!!!\n",
|
||
|
- sas_device->handle);
|
||
|
- sas_device->handle = le16_to_cpu(
|
||
|
- sas_device_pg0->DevHandle);
|
||
|
- if (sas_target_priv_data)
|
||
|
- sas_target_priv_data->handle =
|
||
|
- le16_to_cpu(sas_device_pg0->DevHandle);
|
||
|
+ if (sas_device->handle == le16_to_cpu(
|
||
|
+ sas_device_pg0->DevHandle))
|
||
|
goto out;
|
||
|
- }
|
||
|
+ pr_info("\thandle changed from(0x%04x)!!!\n",
|
||
|
+ sas_device->handle);
|
||
|
+ sas_device->handle = le16_to_cpu(
|
||
|
+ sas_device_pg0->DevHandle);
|
||
|
+ if (sas_target_priv_data)
|
||
|
+ sas_target_priv_data->handle =
|
||
|
+ le16_to_cpu(sas_device_pg0->DevHandle);
|
||
|
+ goto out;
|
||
|
}
|
||
|
out:
|
||
|
spin_unlock_irqrestore(&ioc->sas_device_lock, flags);
|
||
|
--
|
||
|
2.13.6
|
||
|
|