On 2/16/21 6:58 AM, Brian King wrote: > On 2/11/21 12:57 PM, Tyrel Datwyler wrote: >> diff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c >> index ba6fcf9cbc57..23b803ac4a13 100644 >> --- a/drivers/scsi/ibmvscsi/ibmvfc.c >> +++ b/drivers/scsi/ibmvscsi/ibmvfc.c >> @@ -5670,7 +5670,7 @@ static int ibmvfc_register_scsi_channel(struct ibmvfc_host *vhost, >> >> irq_failed: >> do { >> - plpar_hcall_norets(H_FREE_SUB_CRQ, vdev->unit_address, scrq->cookie); >> + rc = plpar_hcall_norets(H_FREE_SUB_CRQ, vdev->unit_address, scrq->cookie); >> } while (rc == H_BUSY || H_IS_LONG_BUSY(rc)); > > Other places in the driver where we get a busy return code back we have an msleep(100). > Should we be doing that here as well? Indeed, and actually even better would be to use rtas_busy_delay() which will perform the sleep with the correct ms delay, and marks itself with the might_sleep() macro. -Tyrel > > Thanks, > > Brian >