isci: audit usage of BUG_ON macro in isci driver
Removes unnecessary usage of BUG_ON macro, excluding core directory.
In some cases macro is unnecesary, check is done in caller function.
In other cases macro is replaced by if construction with
appropriate warning.
Signed-off-by: Maciej Patelczyk <maciej.patelczyk@intel.com>
[changed some survivable bug conditions to WARN_ONCE]
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
diff --git a/drivers/scsi/isci/remote_device.c b/drivers/scsi/isci/remote_device.c
index 320850c..9301e25 100644
--- a/drivers/scsi/isci/remote_device.c
+++ b/drivers/scsi/isci/remote_device.c
@@ -202,8 +202,6 @@
sci_object_set_association(to_sci_dev(isci_device), isci_device);
- BUG_ON(port->isci_host == NULL);
-
/* start the device. */
status = scic_remote_device_start(to_sci_dev(isci_device),
ISCI_REMOTE_DEVICE_START_TIMEOUT);
@@ -257,8 +255,12 @@
return NULL;
}
- BUG_ON(!list_empty(&idev->reqs_in_process));
- BUG_ON(!list_empty(&idev->node));
+ if (WARN_ONCE(!list_empty(&idev->reqs_in_process), "found requests in process\n"))
+ return NULL;
+
+ if (WARN_ONCE(!list_empty(&idev->node), "found non-idle remote device\n"))
+ return NULL;
+
isci_remote_device_change_state(idev, isci_freed);
return idev;