Skip to content

Commit

Permalink
isci: audit usage of BUG_ON macro in isci driver
Browse files Browse the repository at this point in the history
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 <[email protected]>
[changed some survivable bug conditions to WARN_ONCE]
Signed-off-by: Dan Williams <[email protected]>
  • Loading branch information
barcinsk authored and djbw committed Jul 3, 2011
1 parent 467e855 commit 6cb4d6b
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 18 deletions.
1 change: 0 additions & 1 deletion drivers/scsi/isci/core/scic_sds_request.c
Original file line number Diff line number Diff line change
Expand Up @@ -1635,7 +1635,6 @@ static void scic_sds_request_completed_state_enter(
struct isci_host *ihost = sci_object_get_association(scic);
struct isci_request *ireq = sci_object_get_association(sci_req);


SET_STATE_HANDLER(sci_req,
scic_sds_request_state_handler_table,
SCI_BASE_REQUEST_STATE_COMPLETED);
Expand Down
4 changes: 0 additions & 4 deletions drivers/scsi/isci/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -362,8 +362,6 @@ static int isci_setup_interrupts(struct pci_dev *pdev)
else
isr = isci_msix_isr;

BUG_ON(!isci_host);

err = devm_request_irq(&pdev->dev, msix->vector, isr, 0,
DRV_NAME"-msix", isci_host);
if (!err)
Expand All @@ -379,13 +377,11 @@ static int isci_setup_interrupts(struct pci_dev *pdev)
pci_disable_msix(pdev);
goto intx;
}

return 0;

intx:
err = devm_request_irq(&pdev->dev, pdev->irq, isci_intx_isr,
IRQF_SHARED, DRV_NAME"-intx", pdev);

return err;
}

Expand Down
1 change: 1 addition & 0 deletions drivers/scsi/isci/port.c
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,7 @@ void isci_port_link_up(
unsigned long success = true;

BUG_ON(isci_phy->isci_port != NULL);

isci_phy->isci_port = isci_port;

dev_dbg(&isci_host->pdev->dev,
Expand Down
10 changes: 6 additions & 4 deletions drivers/scsi/isci/remote_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -202,8 +202,6 @@ static enum sci_status isci_remote_device_construct(

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);
Expand Down Expand Up @@ -257,8 +255,12 @@ isci_remote_device_alloc(struct isci_host *ihost, struct isci_port *iport)
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;
Expand Down
1 change: 0 additions & 1 deletion drivers/scsi/isci/request.c
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,6 @@ int isci_request_execute(

out:
if (status != SCI_SUCCESS) {

/* release dma memory on failure. */
isci_request_free(isci_host, request);
request = NULL;
Expand Down
5 changes: 2 additions & 3 deletions drivers/scsi/isci/request.h
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,6 @@ static inline enum isci_request_status isci_request_change_started_to_newstate(
enum isci_request_status old_state;
unsigned long flags;

BUG_ON(isci_request == NULL);

spin_lock_irqsave(&isci_request->state_lock, flags);

old_state = isci_request->status;
Expand Down Expand Up @@ -243,7 +241,8 @@ static inline void isci_request_free(
struct isci_host *isci_host,
struct isci_request *isci_request)
{
BUG_ON(isci_request == NULL);
if (!isci_request)
return;

/* release the dma memory if we fail. */
dma_pool_free(isci_host->dma_pool, isci_request,
Expand Down
11 changes: 6 additions & 5 deletions drivers/scsi/isci/task.c
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ static enum sci_status isci_task_request_build(
{
struct scic_sds_remote_device *sci_device;
enum sci_status status = SCI_FAILURE;
struct isci_request *request;
struct isci_request *request = NULL;
struct isci_remote_device *isci_device;
/* struct sci_sas_identify_address_frame_protocols dev_protocols; */
struct smp_discover_response_protocols dev_protocols;
Expand Down Expand Up @@ -372,8 +372,6 @@ static void isci_tmf_timeout_cb(void *tmf_request_arg)
struct isci_tmf *tmf = isci_request_access_tmf(request);
enum sci_status status;

BUG_ON(request->ttype != tmf_task);

/* This task management request has timed-out. Terminate the request
* so that the request eventually completes to the requestor in the
* request completion callback path.
Expand Down Expand Up @@ -1121,8 +1119,11 @@ static void isci_abort_task_process_cb(
* request state was already set to "aborted" by the abort
* task function.
*/
BUG_ON((old_request->status != aborted)
&& (old_request->status != completed));
if ((old_request->status != aborted)
&& (old_request->status != completed))
dev_err(&old_request->isci_host->pdev->dev,
"%s: Bad request status (%d): tmf=%p, old_request=%p\n",
__func__, old_request->status, tmf, old_request);
break;

case isci_tmf_timed_out:
Expand Down

0 comments on commit 6cb4d6b

Please sign in to comment.