[SCSI] ibmvscsi: correctly reenable CRQ
authorSantiago Leon <santil@us.ibm.com>
Fri, 13 Oct 2006 15:22:50 +0000 (10:22 -0500)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Wed, 25 Oct 2006 22:13:17 +0000 (15:13 -0700)
The "ibmvscsi: treat busy and error conditions separately" patch
submitted by Dave Boutcher back in June incorrectly reenables the CRQ.
The broken logic causes the adapter to get disabled if the CRQ
connection happens to close temporarily.  This patch "fixes that
obviously wrong logic check" (Dave's words).

Signed-off-by: Santiago Leon <santil@us.ibm.com>
Signed-off-by: David Boutcher <sleddog@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/ibmvscsi/ibmvscsi.c

index 669ea4f..fbc1d5c 100644 (file)
@@ -1213,7 +1213,7 @@ void ibmvscsi_handle_crq(struct viosrp_crq *crq,
                               "ibmvscsi: Re-enabling adapter!\n");
                        purge_requests(hostdata, DID_REQUEUE);
                        if ((ibmvscsi_reenable_crq_queue(&hostdata->queue,
-                                                       hostdata) == 0) ||
+                                                       hostdata)) ||
                            (ibmvscsi_send_crq(hostdata,
                                               0xC001000000000000LL, 0))) {
                                        atomic_set(&hostdata->request_limit,