]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/scsi/ibmvscsi/rpa_vscsi.c
[SCSI] ibmvscsi: treat busy and error conditions separately
[linux-2.6-omap-h63xx.git] / drivers / scsi / ibmvscsi / rpa_vscsi.c
index 1a9992bdfef85ef944886e4a3f9fb334f34ed64f..242b8873b33363c26692db97cc36218d5aed378e 100644 (file)
@@ -208,6 +208,7 @@ int ibmvscsi_init_crq_queue(struct crq_queue *queue,
                            int max_requests)
 {
        int rc;
+       int retrc;
        struct vio_dev *vdev = to_vio_dev(hostdata->dev);
 
        queue->msgs = (struct viosrp_crq *)get_zeroed_page(GFP_KERNEL);
@@ -226,7 +227,7 @@ int ibmvscsi_init_crq_queue(struct crq_queue *queue,
        gather_partition_info();
        set_adapter_info(hostdata);
 
-       rc = plpar_hcall_norets(H_REG_CRQ,
+       retrc = rc = plpar_hcall_norets(H_REG_CRQ,
                                vdev->unit_address,
                                queue->msg_token, PAGE_SIZE);
        if (rc == H_RESOURCE)
@@ -263,7 +264,7 @@ int ibmvscsi_init_crq_queue(struct crq_queue *queue,
        tasklet_init(&hostdata->srp_task, (void *)ibmvscsi_task,
                     (unsigned long)hostdata);
 
-       return 0;
+       return retrc;
 
       req_irq_failed:
        do {